├── AVL Tree.cpp ├── Bisection method for finding polynomial equation roots.cpp ├── Graph Algorithms ├── A Star.cpp ├── BFS.cpp ├── Bellman-Ford.cpp ├── DFS.cpp ├── Dijkstra.cpp ├── Edmonds–Karp (Maxflow).cpp ├── Eulerian Path-Cycle (Directed Graphs).cpp ├── Eulerian Path-Cycle (Undirected Graphs).cpp ├── Floyd-Warshall.cpp ├── Kosaraju.cpp ├── Kruskal.cpp ├── LCA.cpp ├── Max Independent Set of a Tree.cpp └── Prim.cpp ├── Linear Programming ├── Gaussian Elimination.cpp └── Simplex Method.cpp ├── Max 1D Range Sum.cpp ├── Max 2D Range Sum.cpp ├── NP-complete & SAT ├── NP 3-graph coloring to SAT.cpp ├── NP Hamiltonian Path to SAT.cpp ├── Solving NP (Approximation Method).cpp ├── Solving NP (Exact Method).cpp └── Solving NP (Special Cases Method).cpp ├── README.md ├── Six Basic Data Structures ├── Linked List.cpp ├── Map.cpp ├── Priority Queue (Heap).cpp ├── Queue.cpp ├── Set.cpp └── Stack.cpp ├── Sorting Algorithms ├── Bubble Sort.cpp ├── Count Sort.cpp ├── Heap Sort.cpp ├── Insertion Sort.cpp ├── Merge Sort.cpp ├── Quick Sort.cpp ├── Radix Sort.cpp └── Selection Sort.cpp ├── Sparse Table (min or max range query).cpp ├── String Algorithms ├── Burrows-Wheeler for Pattern Matching.cpp ├── KMP (Knuth-Morris-Pratt).cpp ├── Modified Rabin-Karp's Algorithm.cpp └── Rabin-Karp's Algorithm.cpp ├── Suffix Tree.cpp └── Trie.cpp /AVL Tree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/AVL Tree.cpp -------------------------------------------------------------------------------- /Bisection method for finding polynomial equation roots.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Bisection method for finding polynomial equation roots.cpp -------------------------------------------------------------------------------- /Graph Algorithms/A Star.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/A Star.cpp -------------------------------------------------------------------------------- /Graph Algorithms/BFS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/BFS.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Bellman-Ford.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Bellman-Ford.cpp -------------------------------------------------------------------------------- /Graph Algorithms/DFS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/DFS.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Dijkstra.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Dijkstra.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Edmonds–Karp (Maxflow).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Edmonds–Karp (Maxflow).cpp -------------------------------------------------------------------------------- /Graph Algorithms/Eulerian Path-Cycle (Directed Graphs).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Eulerian Path-Cycle (Directed Graphs).cpp -------------------------------------------------------------------------------- /Graph Algorithms/Eulerian Path-Cycle (Undirected Graphs).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Eulerian Path-Cycle (Undirected Graphs).cpp -------------------------------------------------------------------------------- /Graph Algorithms/Floyd-Warshall.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Floyd-Warshall.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Kosaraju.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Kosaraju.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Kruskal.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Kruskal.cpp -------------------------------------------------------------------------------- /Graph Algorithms/LCA.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/LCA.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Max Independent Set of a Tree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Max Independent Set of a Tree.cpp -------------------------------------------------------------------------------- /Graph Algorithms/Prim.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Graph Algorithms/Prim.cpp -------------------------------------------------------------------------------- /Linear Programming/Gaussian Elimination.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Linear Programming/Gaussian Elimination.cpp -------------------------------------------------------------------------------- /Linear Programming/Simplex Method.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Linear Programming/Simplex Method.cpp -------------------------------------------------------------------------------- /Max 1D Range Sum.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Max 1D Range Sum.cpp -------------------------------------------------------------------------------- /Max 2D Range Sum.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Max 2D Range Sum.cpp -------------------------------------------------------------------------------- /NP-complete & SAT/NP 3-graph coloring to SAT.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/NP-complete & SAT/NP 3-graph coloring to SAT.cpp -------------------------------------------------------------------------------- /NP-complete & SAT/NP Hamiltonian Path to SAT.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/NP-complete & SAT/NP Hamiltonian Path to SAT.cpp -------------------------------------------------------------------------------- /NP-complete & SAT/Solving NP (Approximation Method).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/NP-complete & SAT/Solving NP (Approximation Method).cpp -------------------------------------------------------------------------------- /NP-complete & SAT/Solving NP (Exact Method).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/NP-complete & SAT/Solving NP (Exact Method).cpp -------------------------------------------------------------------------------- /NP-complete & SAT/Solving NP (Special Cases Method).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/NP-complete & SAT/Solving NP (Special Cases Method).cpp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/README.md -------------------------------------------------------------------------------- /Six Basic Data Structures/Linked List.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Linked List.cpp -------------------------------------------------------------------------------- /Six Basic Data Structures/Map.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Map.cpp -------------------------------------------------------------------------------- /Six Basic Data Structures/Priority Queue (Heap).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Priority Queue (Heap).cpp -------------------------------------------------------------------------------- /Six Basic Data Structures/Queue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Queue.cpp -------------------------------------------------------------------------------- /Six Basic Data Structures/Set.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Set.cpp -------------------------------------------------------------------------------- /Six Basic Data Structures/Stack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Six Basic Data Structures/Stack.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Bubble Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Bubble Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Count Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Count Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Heap Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Heap Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Insertion Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Insertion Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Merge Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Merge Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Quick Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Quick Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Radix Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Radix Sort.cpp -------------------------------------------------------------------------------- /Sorting Algorithms/Selection Sort.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sorting Algorithms/Selection Sort.cpp -------------------------------------------------------------------------------- /Sparse Table (min or max range query).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Sparse Table (min or max range query).cpp -------------------------------------------------------------------------------- /String Algorithms/Burrows-Wheeler for Pattern Matching.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/String Algorithms/Burrows-Wheeler for Pattern Matching.cpp -------------------------------------------------------------------------------- /String Algorithms/KMP (Knuth-Morris-Pratt).cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/String Algorithms/KMP (Knuth-Morris-Pratt).cpp -------------------------------------------------------------------------------- /String Algorithms/Modified Rabin-Karp's Algorithm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/String Algorithms/Modified Rabin-Karp's Algorithm.cpp -------------------------------------------------------------------------------- /String Algorithms/Rabin-Karp's Algorithm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/String Algorithms/Rabin-Karp's Algorithm.cpp -------------------------------------------------------------------------------- /Suffix Tree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Suffix Tree.cpp -------------------------------------------------------------------------------- /Trie.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ahmed10Nasser/Interesting-Algorithms-and-Data-Structures/HEAD/Trie.cpp --------------------------------------------------------------------------------