List Of Algorithns In Computer Programming

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.