000001 Sorting Algorithms
In this article, I outline the different types of Algorithms. I then address the Sorting Algorithms.
We can classify algorithms in different ways. Let us say that algorithms can be listed in Classification A as follows:
1. Constant Algorithm
2. Logarithmic Algorithm
3. Linear Algorithm
4. Quadratic Algorithm
5. Exponential Algorithm
6. Log-Linear Algorithm
____________________
Algorithms can be listed in Classification B as follows:
1. Sorting Algorithm
2. Searching Algorithm
____________________
Searching Algorithm can be further sub-classified as follows:
1. Linear Search (Brute Force Search)
2. Binary Search (Divide and Conquer Search)
____________________
Sorting Algorithms can be divided into 3 main categories:
1. Comparison Sorts
2. Non-Comparison Sorts
3. Impractical Sort
____________________
These 3 main categories of Sorting Algorithms can be further sub-classified as follows:
1. Comparison Sorts
1.01 Quick Sort
1.02. Merge Sort
1.03. Heap Sort
1.04. Insertion Sort
1.05. Intro Sort
1.06. Selection Sort
1.07. Tim Sort
1.08. Cube Sort
1.09. Shell Sort
1.10. Bubble Sort
1.11. Binary Tree Sort
1.12. Cycle Sort
1.13. Library Sort
1.14. Patience Sort
1.15. Smooth Sort
1.16. Strand Sort
1.17. Tournament Sort
1.18. Cocktail Sort
1.19. Comb Sort
1.20. Gnome Sort
1.21. Block Sort
1.22. Odd-Even Sort
____________________Â
2. Non-comparison Sorts
2.01. Pigeonhole Sort
2.02. Bucket Sort
2.03. Bucket Sort
2.03.1. Uniform Keys
2.03.2 Integer Keys
2.04. Counting Sort
2.05. LSD Radix Sort
2.06. MSD Radix Sort
2.07. MSD Radix Sort (in-place)
2.08. Spread Sort
2.09. Burst Sort
2.10. Flash Sort
2.11. Postman Sort
____________________
3. Impractical Sort
3.1. Bead Sort
3.2. Simple Pancake Sort
3.3. Spaghetti (Poll) Sort
3.4. Sorting Network
3.5. Bitonic Sort
3.6. Bogo Sort
3.7. Stooge Sort
____________________