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

____________________