/compare-algorithms

This project compares the speed of different algorithms.

Primary LanguageC++Apache License 2.0Apache-2.0

compare-algorithms ⏲️

➡️ Intro

This project compares the speed of different algorithms. It does so by running many tests and recording the time spent. Using this information, I have presented the information in graphs, which help to understand the information more easily.

Compare algorithms photo

👦 About me

This project is completed as a part of my second year bachelor's course "Applications and Analysis of Algorithms" at HSE university, Moscow.

🎓 Student information

Dzhalev Pavel Dobrev
Course: ПиАА 2022
Group: БПИ208
Stack: C++, Cmake, Google tests, Clion, Google spreadsheets

📖 Contents

This repository contains more than just the code used for this project. There are also reports, tests, and other data divided as such:

🗒️ Completed items

  • ✅ Implement algorithms:
    • Bubble sort
    • Count sort
    • Insertion sort
    • Merge sort
    • Quick sort
    • Selection sort
  • ✅ All algorithms sort the same data
  • ✅ Times recorded
  • ✅ Project structure
  • ✅ Proper random generation
  • ✅ Export to CSV
  • ✅ Tables and diagrams of results
    • Included title and legend
  • ✅ Code documentation
  • ✅ Function pointers
  • ✅ Result analysis

🗒️ Remaining work

  • ❌ Memory cleanup is all automatic

💎 Results

The results of this experiment are divided in two parts:

  • The data files from each different collection of items
  • The resulting tables and charts charts

The complete analysis of the project can be found here.