lprimeroo / DSA

Implementations of various data structures and algorithms.
MIT License
106 stars 179 forks source link

DSA (Data Structures and Algorithms)

Reference purposes .

  1. Knuth-Morris-Pratt Algorithm cpp python
  2. Depth First Search w/o stack cpp python
  3. Depth First Search with stack cpp python
  4. Breadth First Search cpp python java kotlin
  5. Suffix Arrays cpp
  6. Segment Trees cpp python java kotlin
  7. Segment Trees with Lazy Propogation cpp
  8. Segment Trees with Max Prefix/Suffix Sum and Max Subvector Sum cpp
  9. Euler Totient Function cpp python kotlin
  10. Dijkstra's Algorithm cpp python java kotlin
  11. Fast Modulo Multiplication / Binary Exponention cpp python java kotlin
  12. Dijkstra's Algorithm cpp python java
  13. Fast Modulo Multiplication / Binary Exponention cpp python java
  14. Meet in Middle cpp python
  15. Binary Search cpp python java kotlin coffee f# chapel
  16. Matrix Exponention for Fibonacci Series cpp
  17. Modular Multipicative Inverse using Fermat's Theorem cpp
  18. Tries cpp python
  19. Bellman-Ford Algorithm cpp python
  20. Rabin-Karp Algorithm cpp python
  21. Binary Search Tree python c
  22. Sieve of Eratosthenes cpp python java kotlin
  23. Maximum Bipartite Matching cpp python
  24. Floyd-Warshall Algorithm cpp python java kotlin
  25. Pollard Rho Integer Factorization cpp python
  26. Binary Indexed Trees / BIT cpp python
  27. Square Root Decomposition cpp
  28. Ford-Fulkerson Algorithm for Maximum Flow (BFS)/ Edmonds Karp Algorithm cpp java kotlin
  29. Miller Rabin Primality Test cpp python
  30. Fibonacci Numbers using fast doubling cpp python java kotlin
  31. Generating Non-Fibonacci Numbers cpp python
  32. Segmented Sieve Method of Erastothenes cpp python
  33. Quick Sort cpp python java kotlin c
  34. Heap Sort cpp python java kotlin
  35. ConvexHull(GrahamScan) cpp
  36. Longest Increasing Subsequence python
  37. Mergesort cpp python java kotlin scala c
  38. Closest Pair Of Points cpp
  39. Radix Sort cpp python java kotlin
  40. Knapsack 0-1 python java kotlin
  41. Nqueens python java kotlin cpp
  42. Longest Common Subsequence python
  43. Kruskal Algorithm cpp java kotlin
  44. Bubble Sort cpp python java kotlin scala c
  45. Stacks - Array implementation cpp - Linked List Implementation cpp
  46. Queue cpp c java kotlin
  47. Comb Sort java kotlin
  48. Shell Sort java kotlin cpp
  49. Prim's Algorithm python
  50. Expression Tree cpp
  51. Linked List functionality c
  52. Min Heap as array cpp java kotlin
  53. Max Heap as array cpp java kotlin
  54. Insertion Sort Python cpp java kotlin c
  55. Miller Rabin Primality Test cpp
  56. Sieve of eratosthenes cpp
  57. Sieve implemented with BIT cpp
  58. Z algorithm (Linear time pattern searching Algorithm) cpp
  59. Karatsuba algorithm (for fast multiplication) cpp python
  60. Counting sort cpp python
  61. Modular Multiplicative Inverse cpp
  62. Counting sort cpp
  63. CircularBuffer cpp
  64. Selection Sort python cpp java kotlin c
  65. ConvexHull(MonotoneChain) cpp
  66. Topological Sort cpp python
  67. Factors of an integer clojure
  68. Shunting Yard Algorithm java kotlin
  69. Closest Pair Algorithm cpp
  70. Bucket Sort Algorithm cpp java kotlin
  71. K-Dimensional Tree cpp
  72. Disjoint set Union cpp
  73. Inorder Binary Tree Traversal recursive cpp
  74. Inorder Binary Tree Traversal iterative using Stack cpp
  75. Inorder Morris Traversal cpp
  76. Ternary Search cpp