DSA BASIC
- Environment Setup
- Algorithms Basics
- Asymptotic Analysis
- Data Structure Basics
- Data Structures and Types
- Logic Building Guide
DATA STRUCTURE
- Array Data Structure
- String Data Structure
- Skip List Data Structure
- Linked List Data Structure
- Doubly Linked List Data Structure
- Circular Linked List Data Structure
- Stack Data Structure
- Expression Parsing
- Queue Data Structure
- Circular Queue Data Structure
- Priority Queue Data Structure
- Deque Data Structure
- Hash Table
- Hash Set
- Hash Map
- Matrices Data Structure
- Lup Decomposition In Matrices
- Lu Decomposition In Matrices
- Graph Data Structure
-- Depth First Traversal
-- Breadth First Traversal
-- Spanning Tree
-- Minimum Spanning Tree
-- Topological Sorting
-- Strongly Connected Components
-- Biconnected Components
-- Augmenting Path
-- Network Flow Problems
-- Flow Networks In Data Structures
-- Edmonds Blossom Algorithm
-- Maxflow Mincut Theorem
-- Eulerian Circuit
-- Graphs Traversal
-- Cycle Detection
- Tree Data Structure
-- Tree Traversal
-- Binary Tree
-- Binary Search Tree
-- AVL Tree
-- Red Black Trees
-- B Trees
-- B+ Trees
-- Splay Trees
-- Range Queries
-- Segment Trees
-- Fenwick Tree
-- Fusion Tree
-- Hashed Array Tree
-- K-Ary Tree
-- Kd Trees
-- Binary Indexed Tree
-- Priority Search Tree Data Structure
-- Pre-order Traversal
-- In-order Traversal
-- Post-order Traversal
- Hashing
-- Hashing Data Structure
-- Collision In Hashing
- Disjoint Set
-- Disjoint Set
-- Path Compression And Union By Rank
- Heap
-- Heap Data Structure
-- Binary Heap
-- Binomial Heap
-- Fibonacci Heap
- Tries
-- Tries
-- Standard Tries
-- Compressed Tries
-- Suffix Tries
- Treap
- Bit Mask In Data Structures
- Bloom Filter Data Structure
SEARCHING ALOGIRTHMS
- Searching Algorithms
- Linear Search Algorithm
- Binary Search Algorithm
- Interpolation Search
- Jump Search Algorithm
- Exponential Search
- Fibonacci Search
- Sublist Search
- Hash Table
- Sentinel Linear Search
- Meta Binary Search | One-Sided Binary Search
- Ternary Search
- Best First Search
SORTING ALOGIRTHMS
- Bubble Sort Algorithm
- Insertion Sort Algorithm
- Selection Sort Algorithm
- Merge Sort Algorithm
- Shell Sort Algorithm
- Heap Sort Algorithm
- Bucket Sort Algorithm
- Counting Sort Algorithm
- Radix Sort Algorithm
- Quick Sort Algorithm
- Line Sweep
- Cycle Sort
- 3-way Merge Sort
- Pigeonhole Sort
- IntroSort
- TimSort
ALGORITHMS
- Recursion
-- Recursion Algorithms
-- Tower of Hanoi Using Recursion
-- Fibonacci Series Using Recursion
- Divide and Conquer
-- Divide and Conquer
-- Max-Min Problem
-- Strassen's Matrix Multiplication
-- Karatsuba Algorithm
- Greedy Algorithms
-- Greedy Algorithms
-- Travelling Salesman Problem (Greedy Approach)
-- Prim's Minimal Spanning Tree
-- Kruskal's Minimal Spanning Tree
-- Dijkstra's Shortest Path Algorithm
-- Map Colouring Algorithm
-- Fractional Knapsack Problem
-- Job Sequencing with Deadline
-- Optimal Merge Pattern Algorithm
-- Bellman-Ford
-- Huffman Coding
-- Huffman Decoding
-- Activity Selection Problem
-- Water Connection Problem
-- Minimum Swaps for Bracket Balancing
-- Egyptian Fraction
-- Policemen catch thieves
-- Fitting Shelves Problem
-- Assign Mice to Holes
- Dynamic Programming
-- Dynamic Programming
-- Matrix Chain Multiplication
-- Floyd Warshall Algorithm
-- 0-1 Knapsack Problem
-- Longest Common Sub-sequence Algorithm
-- Travelling Salesman Problem (Dynamic Approach)
-- Memoization
-- Backtracking
-- Bitmask
-- Huffman Coding
-- Tabulation
- Approximation Algorithms
-- Approximation Algorithms
-- Vertex Cover Algorithm
-- Set Cover Problem
-- Travelling Salesman Problem (Approximation Approach)
- Randomized Algorithms
-- Randomized Algorithms
-- Randomized Quick Sort Algorithm
-- Karger’s Minimum Cut Algorithm
-- Fisher-Yates Shuffle Algorithm
- Math & Number Theory
-- Math
-- Number Theory
-- Combinatorics
-- Probability and Statistics
-- Geometry
- Bitwise Algorithms
- Branch and Bound algorithms
- Geometric algorithms
- Euclidean Algorithm
- Square Root (Sqrt) Decomposition Algorithm
- Binary Lifting
- Other
- Bit Manipulation
- String Matching
- Rolling Hash
- Hash Function
- Suffix Array
- Two Pointers
- Sliding Window
- Monotonic Stack
- Monotonic Queue
- Prefix Sum
- Union Find
- Ordered Set
- Data Stream
- Infix to Postfix
- Bellmon Ford Shortest Path
- Maximum Bipartite Matching
- Design
- Iterator
- Concurrency
- Interactive
- Brainteaser
- Simulation
- Enumeration
- Counting
- Game Theory
- Reservoir Sampling
- Rejection Sampling
- Matrix
- Randomized
- Maximum Flow
- Ford-Fulkerson
- Edmonds-Karp