TeX
Data Structures 2
Academisch project voor Data Structuren II. Benchmark vijf sorteeralgoritmen in C over meerdere invoergroottes en genereert vervolgens prestatiegrafieken via Python/matplotlib.
Academisch project voor Datastructuren II. Benchmark vijf sorteeralgoritmen in C over meerdere invoergroottes, en genereert vervolgens prestatiegrafieken via Python/matplotlib.

Algoritmen
| Algoritme | Gemiddeld geval | Slechtste geval |
|---|---|---|
| Bubble Sort | O(n²) | O(n²) |
| Selection Sort | O(n²) | O(n²) |
| Insertion Sort | O(n²) | O(n²) |
| Quick Sort | O(n log n) | O(n²) |
| Heap Sort | O(n log n) | O(n log n) |
Hoe Het Werkt
- C-programma (
main.c+sorting.c) genereert willekeurige integer-arrays bij groottes[100, 1000, 5000, 10000, 50000, 100000], voert elk algoritme uit op een kopie, en schrijft per-run statistieken (wisselingen, vergelijkingen, verstreken tijd) naar binaire bestanden onder./executions/. - Python-script (
main.py) compileert en voert het C-programma uit, leest de binaire gegevens, en slaat prestatiegrafieken op in./graficos/.
Vereisten
- GCC
- Python 3
- matplotlib (
pip install matplotlib)
Gebruik
# Benchmark uitvoeren + grafieken genereren
python main.py
Of alleen de C-benchmark uitvoeren:
make
./Trabalho_Pratico_II
Uitvoer
Grafieken opgeslagen in ./graficos/:
relatorio_completo.png— wisselingen, vergelijkingen en tijd in één figuurtrocas_comparacao.png— wisselingen per algoritmecomparacoes_comparacao.png— vergelijkingen per algoritmetempo_comparacao.png— uitvoeringstijd per algoritme
Projectstructuur
.
├── main.c # Benchmark-stuurprogramma
├── sorting.c # Algoritme-implementaties
├── sorting.h # Functiedeclaraties
├── main.py # Gegevenslezer + grafiekengenerator
├── makefile
├── requirements.txt
└── executions/ # Binaire resultaatbestanden (aangemaakt tijdens uitvoering)
