Skip to content

Ali-Elshorpagi/algorithms

Repository files navigation

Algorithms in C++

Recursive Functions

Sorting Algorithms

  • Bubble Sort ( Iterative / Recursive )
  • Bucket Sort
  • Count Sort
  • Heap Sort
  • Insertion Sort ( Iterative / Recursive )
  • Quick Sort (Random Optimization)
  • Merge Sort
  • Radix Sort
  • Selection Sort ( Iterative / Recursive )

Binary Search

  • Iterative / Recursive
  • Integer Numbers
  • Real Numbers

Graph Representation

  • Edge List
  • Adjacency Hashset
  • Adjacency Matrix With Multiple Edges

Depth First Search (DFS)

  • DFS Concept
  • DFS on Matrix
  • Reductions on Graphs
  • Detect Cycles in Directed Graph

Breadth First Search (BFS)

  • BFS Concept
  • BFS on Matrix
  • Detect Cycles in Undirected Graph
  • Operation-Based Problems
  • Multi-Source BFS (1 - M BFS)
  • State Graph Problems

Topological Ordering

  • By Kahn's Algorithm
  • By DFS Algorithm

Dynamic Programming (DP)

  • Pick or Leave Pattern
  • Enumerate Choices
  • Range Patterns
  • DP Counting
  • DP On Grid
  • DP Build Output

Backtracking

  • Update And Undo

Divde and Conquer

  • Merge Sort
  • Quick Sort

Shortest Path Algorithms

  • Floyd Warshall
  • Bellman Ford
  • Dijkstra

Minimum Spanning Tree (MST)

  • MST Prim
  • MST Kruskal