This repository contains (mainly) the coursework and homework required to access to the oral examination for the 2nd part of the course on Advanced Programming and Algorithmic Design held at the University of Trieste (Spring Semester, 2020) by prof. Alberto Casagrande.
Code:
- Strassen’s Algorithm for Matrix Multiplication:
- Based on this repository, by Prof. Alberto Casagrande
- Padding-based version: here
- Peeling-based version: here
- Binary Heaps in array-based representation:
- Based on this repository, by Prof. Alberto Casagrande
- Swap-on-data version: here
- Swap-on-index version: here
- Sorting algorithms
- Based on this repository, by Prof. Alberto Casagrande
- Edsger Dijkstra’s algorithm for SSSP problem
- On matrix multiplication and Strassen’s algorithm
- On binary heaps: part 1 and part 2
- On sorting: part 1 and part 2
- On weighted graphs and Dijkstra’s algorithm
How to compile the code:
The minimal setup requirements in order to successfully compile the code are:
- A working
C
compiler (tested with:gcc (GCC) 10.1.0
) - A working
make
binary and required libraries (tested with:GNU Make 4.3
, for target:x86_64-pc-linux-gnu
) - A working
cmake
setup (tested with:cmake version 3.17.3
)
Inside a specific project directory (e.g. by following the code links above):
cmake -G "Unix Makefiles" CMakeLists.txt
make # optionally: make -j<number of processes>
or just by using provided build.sh
script.