Skip to content

Latest commit

 

History

History
91 lines (90 loc) · 2.42 KB

README.md

File metadata and controls

91 lines (90 loc) · 2.42 KB

list-of-algorithms

  1. Dynamic programming
    1. Longest common subsequence
    2. Subset sum
  2. Graph
    1. Breadth first search
    2. Depth first search
    3. Undirected graph connectivity
    4. Spanning forest
    5. Connected components in undirected path
    6. Unweighted shortest path
    7. Directed graph connectivity
    8. Strongly connected components in directed graph
    9. Topological sort
    10. Graph biconnectivity and triconnectivity
    11. Graph planarity testing and embedding
    12. Bellman Ford (SSSP)
    13. Bellman Ford (detect negative cycles)
    14. Floyd-Warshall (APSP)
    15. Matrix multiplication (APSP)
    16. Transitive closure (APSP)
    17. Dijkstra (SSSP) for non-negative edge weights with priority queue
    18. Minimum spanning tree
    19. Prim's
    20. Kruskal minimum spanning tree with union find
    21. Splay tree
    22. Binary search tree
  3. Greedy
    1. Activity selection problem
    2. Fibonacci heap
    3. Simplified cut property
  4. Data Driven Algorithms
    1. Binary search with careful first choice
    2. Greedy knapsack raised to omega
    3. Self-improving sort
    4. Online load balancing
  5. Distributed systems
    1. Primary backup
    2. Chain replication
    3. Lampost clocks
    4. Vector clocks
    5. Bayou
    6. Quorum
    7. Chord
  6. Hashing
    1. Hashing with chaining
    2. Open address hashing
    3. Cuckoo hashing
  7. Data structures
    1. Adjacency list
    2. Adjacency matrix
    3. Union find with union by rank and path compression
    4. List - resizing a table
    5. Dictionary with hashing
    6. Dictionary with search tree
  8. Sorting
    1. Merge sort
    2. Quicksort randomized partition
    3. Random quicksort
  9. Randomized
    1. Randomized closest pair
    2. Coupon collector/balls in bins
    3. Global min cut
  10. Databases
    1. Bloom filters
    2. Bloom filters with delete
    3. External sorting
    4. 2 pass merge
    5. Hash based indexing
    6. Tree based indexing
    7. B+ tree
  11. Integer programming
    1. Branch and bound
    2. Lagrangian relaxation
    3. Knapsack
    4. Bin packing
    5. Set covering
    6. Assignment problem
    7. Uncapacited facility
    8. Traveling salesman
    9. Maximum weight matching
    10. Max flow min cut
    11. Steiner tree
  12. Other
    1. Closest pair of points on plane
    2. Select median problem
    3. Strassen's matrix multiplication
    4. Fibonacci heap
    5. Multi stack
    6. Disjoint sets forest with union by rank