This repository contains C++ code of all the topics discussed or I learnt during my time at MNNIT, Allahabad.
- Data Structures
- Heap
- Graph
- Shortest Path Algorithm
- Union Find
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Connected Components
- Single Source Shortest Path
- Bipartite Check
- Cycle Detection
- In/Out Time of Vertices
- Diameter of a Tree
- Locate Bridges in a Graph
- Locate Articulation Point in a Connected Component
- Topological Sorting in Directed Graph
- DFS on Grid
- BFS on Grid
- Strongly Connected Components (Directed Graph)
- Tree
- Tree Traversal
- Iterative Tree Traversal
- Level Order Traversal / Spiral Level Order Traversal
- Vertical Traversal
- Height/Depth of a Tree/ Diameter of Tree
- Views of a Tree (left/right/top)
- Tree Construction from Sequences
- Binary Search Tree (BST), Search & Add
- Binary Search Tree (BST), Create
- Binary Search Tree (BST), Remove
- Binary Search Tree (BST), Check
- Binary Search Tree (BST), Floor/Ceil
- Trie
- Stack
- Dynamic Programming
- Number Theory
- Searching Algorithms
- Binary Search
- Binary Search
- First and Last Occurrences
- Counting Occurrences
- Rotation Count
- Search in Rotated Array
- Search in Nearly Sorted Array
- Just Smaller Element
- Just Bigger Element / Minimum Difference Element
- Search Element in Infinitely Sorted Array
- 1st Occurance of 1 in Binary Sorted Infinite array
- Binary Search on Answer(Peak Element search) Unsorted Array
- Finding Max Element in Bitonic Array
- Finding Element in Bitonic Array
- Discreate Binary Search(Optimization Problem Solving)
- Painter's Problem
- Binary Search
- Sorting Algorithms
- Precomputation
- Greedy Algorithms