In any course of study in Computer Science and Engineering, sorts are one of the first topics covered, generally in data structures or a similar class. I first learned the simple sorts (Insertion and Selection) in high school. When I decided to begin this project, sorts were one of the first items for me to choose because of their prevalence in computing problems and also for their coolness.
What’d I do?
I implemented the following sorting algorithms in C++ and Python: insertion, selection, merge, heap, quick, bubble, comb, and radix. These are what can be considered a good toolset. Each algorithm has its merits and drawbacks, so having them all available in source will make it easy down the road if I need them again. I implemented the algorithms, designed a test suite, and for the C++ files, created a makefile.
I will continue working on my examples. The next on my checklist is data structures. I plan to implement a Heap, Linked List, Vector, Adjacency Graph, Stack, Queue, Hash Table, and Queap (Interesting priority queue).