I am a university student with a major in teaching math and IT. In the spring semester of 2021, a class requirement is to write a short study about basic algorithms. The study must include algorithm implementations, measurements about time efficiency and tables and graphs to show my results. This repo contains all that.
Obviously, this is about a lot more than just implementing the required algorithms, which I would say took 20% of the time I put into this (even that much only because I didn't look into them earlier). I have set up a framework to generate inputs of various lengths, measure running times and collect data from hundreds or thousands of executions in the right manner, and then created a Jupyter notebook for the study, which contains the code for table and graph generation.
I wrote this study in Hungarian, as required by my instructor and the course of my studies. At the same time, I like coding "in English", by which I mean using English for namings and comments and readmes (I think you already guessed that). However, I had trouble translating some of the algorithm names from Hungarian - I think I did find their names in English but I'm not entirely sure. So I'll list the algorithms with both English and Hungarian names in the next section.
- Basic algorithms
- Intersection - Metszet
- Union - Unió
- Merging two sorted arrays - Összefuttatás
- Search algorithms
- Linear search on an unsorted array - Lineáris keresés rendezetlen sorozaton
- Linear search with a sentinel value on an unsorted array - Strázsás keresés
- Linear search on a sorted array - Lineáris keresés rendezett sorozaton
- Binary search - Bináris keresés
- Jump search - Ugró keresés
- Sorting algorithms
- Insertion sort - Beszúró rendezés
- Bubble sort - Buborékrendezés