Introduction
In this article, we will see all the available algorithms in computer programming. This will be helpful to develop and build great products and thus will improve efficiency and quality.
Description
I have listed out all the algorithms at one place. A few of them are familiar ones and the rest all of them are not used by us on a regular basis. However, these concepts/data structures/algorithms are really helpful when deciding the complexity of the architecture or problem. If we all make use of these algorithms at the right place, we can build and deliver top-notch products to the market.
Searching
- Binary Search
- Linear Search
- Depth First Search
- Breadth First Search
- Rabin-Karp Algorithm
- Z Algorithm
Sorting
- Insertion Sort
- Heap Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Counting Sort
- Bucket Sort
- Bubble Sort
- Radix Sort
- Shell Sort
- Comb Sort
- Pigeonhole Sort
- Cycle Sort
Graphs
- Kruskal's Algorithm
- Dijkstra's Algorithm
- Bellman Ford Algorithm
- Floyd Warshall Algorithm
- Topological Sort Algorithm
- Flood Fill Algorithm
- Lee Algorithm
- Prim's Algorithm
- Boruvka's Algorithm
- Johnson's Algorithm
- Kosaraju's Algorithm
- Tarjan's Algorithm
Array
- Kadane's Algorithm
- Floyd's Cycle Detection Algorithm
- Knuth-Morris-Pratt Algorithm (KMP)
- Quick Select Algorithm
- Boyer - More Majority Vote Algorithm
Tree
- AA Tree
- Binary Indexed Tree or Fenwick Tree
- Quadtree
- Cartesian Tree
- Fibonacci heap
- Interval Tree
- Finger Tree
- Crit-bit Trees
- Scapegoat Tree
- Splay Tree
- Suffix Tree
- Counted B-Trees
- Binary Space Partitioning
- Van Emde Boas Tree
Other
- Huffman Coding Compression Algorithm
- Euclid's Algorithm
- Union Find Algorithm
- Manacher's Algorithm
- Eukerian Path (Hierholzer's Algorithm)
- Convex Hull | Set 1 (Jarvis’s Algorithm or Wrapping)
- Convex Hull | Set 2 (Graham Scan)
- Convex Hull using Divide and Conquer Algorithm
- Quickhull Algorithm for Convex Hull
- Distinct elements in subarray using Mo’s Algorithm
- Line Sweep Algorithm
- MO’s Algorithm (Query square root decomposition)
- Disjoint-set Data Structure
- Ackermann Function
- Zobrist Hashing
- FM-index
- Circular buffer
- Hungarian Algorithm / Kuhn–Munkres Algorithm / Munkres Assignment Algorithm
- Dekker's Algorithm
- Winged Edge
- Burrows–Wheeler Transform
- Zipper
- Five Balltree Construction Algorithms
- Cuckoo Hashing
- Rope (Data Structure)
- Binary Decision Diagram
- Disjoint-set Data Structure
- Bloom Filter
Conclusion
In this article, we have seen the list of algorithms available in computer programming. Let us learn and use these algorithms to build great products in our day to day life. If you know any algorithm other than these algorithms, kindly comment here! Let us learn these algorithms one by one! Thank you.