- ArrayList
- Heap
- LinkedQueue
- PriorityQueue (BinarySearchTree)
- LinkedStack
- BinarySearchTree
- BinarySearchTree (without link to parent)
- Union-Find
- LinkedList
- Heap sorting
- Insertion sorting
- Merge sorting
- Quick sorting
- Binary searching
- Adjacency List structure
- Adjacency Matrix structure
- Incidence Matrix structure
- Breadth First Searching
- Depth First Searching (recursive)
- Depth First Searching (with stack)
- Colorizing vertices algorithm
- Finding articulation points
- Finding connected components
- Finding cycles
- Topological sorting
- Strongly connected components (Kosaraju algorithm)
- Strongly connected components (Tarjan algorithm)
- Converting from Adjacency Matrix into Adjacency List
- Converting from Adjacency List into Incidence Matrix
- Converting from Incidence Matrix into Adjacency List
- Calculating square of directed graph for Adjacency Matrix
- Calculating square of directed graph for Adjacency List
- Finding minimum vertex cover of a tree
- Finding minimum vertex cover of a tree such that the weight of each vertex is equal to the degree of that vertex
- Finding minimum vertex cover of a tree with arbitrary weights associated with the vertices
- Finding maximum independent set of a tree
- Removing an edge from graph
- Prim's algorithm of finding min spanning tree
- Kruskal's algorithm of finding min spanning tree
- Kruskal's algorithm of finding min spanning tree that uses union-find structure
- Dijkstra's Algorithm of finding shortest path of a graph
- Floyd-Warshall algorithm of finding all-pairs shortest path of a graph
- Ford-Fulkerson algorithm of finding maximum flow
- Backtracking
- Generating all subsets of a set
- Generating all permutations of a string
- N-Queens problem
- All paths between two vertices in a graph
- Sudoku
- Derangement of set
- Graph isomorphism problem
- Bandwidth minimization problem
- Partition problem
- Data compression
- Heuristic Search Methods
- Monte-Carlo method for solving Travelling Salesman Problem
- Local Search method for solving Travelling Salesman Problem
- Simulated Annealing method for solving Travelling Salesman Problem
- Simulated Annealing method for solving Bandwidth minimization problem
- Fibonacci numbers
- Naive Recursive
- Memorized Recursive
- Bottom Up
- Binomial Coefficients
- LevenshteinDistance
- Naive Recursive
- Memorized Recursive
- Bottom Up
- Partition problem
- Parsing Context-Free Grammars
- CYK Parsing Algorithm
- Minimum Weight Triangulation
- Change-making problem
- Greedy algorithm
- Classic algorithm
- Subset sum problem
- Max sum an arc of a circle of numbers
- Data compression
TODO