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

  1. Binary Search
  2. Linear Search
  3. Depth First Search
  4. Breadth First Search
  5. Rabin-Karp Algorithm
  6. Z Algorithm

Sorting

  1. Insertion Sort
  2. Heap Sort
  3. Selection Sort
  4. Merge Sort
  5. Quick Sort
  6. Counting Sort
  7. Bucket Sort
  8. Bubble Sort
  9. Radix Sort
  10. Shell Sort
  11. Comb Sort
  12. Pigeonhole Sort
  13. Cycle Sort

Graphs

  1. Kruskal's Algorithm
  2. Dijkstra's Algorithm
  3. Bellman Ford Algorithm
  4. Floyd Warshall Algorithm
  5. Topological Sort Algorithm
  6. Flood Fill Algorithm
  7. Lee Algorithm
  8. Prim's Algorithm
  9. Boruvka's Algorithm
  10. Johnson's Algorithm
  11. Kosaraju's Algorithm
  12. Tarjan's Algorithm

Array

  1. Kadane's Algorithm
  2. Floyd's Cycle Detection Algorithm
  3. Knuth-Morris-Pratt Algorithm (KMP)
  4. Quick Select Algorithm
  5. Boyer - More Majority Vote Algorithm

Tree

  1. AA Tree
  2. Binary Indexed Tree or Fenwick Tree
  3. Quadtree
  4. Cartesian Tree
  5. Fibonacci heap
  6. Interval Tree
  7. Finger Tree
  8. Crit-bit Trees
  9. Scapegoat Tree
  10. Splay Tree
  11. Suffix Tree
  12. Counted B-Trees
  13. Binary Space Partitioning
  14. Van Emde Boas Tree

Other

  1. Huffman Coding Compression Algorithm
  2. Euclid's Algorithm
  3. Union Find Algorithm
  4. Manacher's Algorithm
  5. Eukerian Path (Hierholzer's Algorithm)
  6. Convex Hull | Set 1 (Jarvis’s Algorithm or Wrapping)
  7. Convex Hull | Set 2 (Graham Scan)
  8. Convex Hull using Divide and Conquer Algorithm
  9. Quickhull Algorithm for Convex Hull
  10. Distinct elements in subarray using Mo’s Algorithm
  11. Line Sweep Algorithm
  12. MO’s Algorithm (Query square root decomposition)
  13. Disjoint-set Data Structure
  14. Ackermann Function
  15. Zobrist Hashing
  16. FM-index
  17. Circular buffer
  18. Hungarian Algorithm / Kuhn–Munkres Algorithm / Munkres Assignment Algorithm
  19. Dekker's Algorithm
  20. Winged Edge
  21. Burrows–Wheeler Transform
  22. Zipper
  23. Five Balltree Construction Algorithms
  24. Cuckoo Hashing
  25. Rope (Data Structure)
  26. Binary Decision Diagram
  27. Disjoint-set Data Structure
  28. 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.