tuhinnn-py / elysium

Z- algorithm for pattern matching, Trie-Aho-Corasick Automaton(FGREP), Hungarian Algorithm for the Munkres Assignment Problem, Binary Lifting, Eulerian Tour for Least Common Ancestor(LCA) using Sparse Table coupled with Farach-Colton and Bender optimization, Wellsh Powell Algorithm for Graph Coloring, Kahn's Agorithm for TopSort and Cycle detection in Graphs. Sparse Table for range queries. Johnson's Algorithm. AHU Encoding. Kosaraju's Algorithm for strongly connected components. Tarjan's Algorithm. Union Find. Fenwick Tree. Segment Tree. Ford Fulkerson. Edmonds-Karp. Dinic's Algorithm. Capacity Scalling. Push Relabel. Dijkstra's Algorithm. Bellman Ford's Algorithm. Floyd Warshall's Algorithm and much more..

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C :: A handbook of Algorithms and Data Structures


  • Assignment Algorithms for Weighted Maximum Cardinality Bipartite Matching

    • Hungarian Algorithm using the Hopcroft-Karp Algorithm as a subroutine for the Munkres Assignment Problem

  • String Searching Algorithms

    • Trie Aho-Corasick Automaton used by the fgrep command of UNIX
    • Z-algorithm for linear pattern matching
    • Knutt-Morris-Pratt algorithm for linear pattern matching

  • Topological Sort algorithms

    • Kahn's algorithm for topologically sorting a graph
    • Using a Depth First Search for topologically sorting a graph

  • Graph Algorithms

    • Johnson's Algorithm
    • Kosaraju's Algorithm for finding Strongly Connected Components in a graph
    • Tarjan's Algorithm for finding Strongly Connected Components in a graph
    • Welsh-Powell Algorithm for Graph Coloring
    • Dijkstra's Algorithm using a binary heap
    • Dijkstra's Algorithm using linear search
    • Bellman Ford's Routing Algorithm
    • Floyd Warshall's Algorithm

  • Data Structures

    • Sparse Table for calculating range queries
    • Union Find (popularly used in Minimum Spanning Tree algorithms)
    • Fenwick(Binary Indexed) Trees for range queries
    • Segment Trees for range queries
    • Trie

  • Tree Algorithms

    • Lowest Common Ancestor Algorithms

      • Eulerian Tour for LCA using Sparse Table coupled with Farach-Colton and Bender Optimization
      • Binary Lifting for LCA using Dynamic Programming

    • Tree centering Algorithm

    • Tree Rooting Algorithm

    • AHU(Aho - Hopcroft - Ullman) Encoding


  • Flow Algorithms

    • Ford-Fulkerson coupled with Capacity Scalling using DFS

    • Edmonds Karp coupled with Capacity Scalling using BFS

    • Dinic's Algorithm coupled with Capacity Scalling using DFS//BFS

    • Push Relabel Algorithm


  • Maximum Cardinality Bipartite Matching Algorithms

    • Max-Flow Algorithm for MCBM

    • Hopcroft-Karp for MCBM


About

Z- algorithm for pattern matching, Trie-Aho-Corasick Automaton(FGREP), Hungarian Algorithm for the Munkres Assignment Problem, Binary Lifting, Eulerian Tour for Least Common Ancestor(LCA) using Sparse Table coupled with Farach-Colton and Bender optimization, Wellsh Powell Algorithm for Graph Coloring, Kahn's Agorithm for TopSort and Cycle detection in Graphs. Sparse Table for range queries. Johnson's Algorithm. AHU Encoding. Kosaraju's Algorithm for strongly connected components. Tarjan's Algorithm. Union Find. Fenwick Tree. Segment Tree. Ford Fulkerson. Edmonds-Karp. Dinic's Algorithm. Capacity Scalling. Push Relabel. Dijkstra's Algorithm. Bellman Ford's Algorithm. Floyd Warshall's Algorithm and much more..


Languages

Language:C 100.0%