Data-Structures-and-Algos
Data-Structures-and-Algos copied to clipboard
Important Data Structures and Algorithms
Data-Structures-and-Algorithms
Important Data Structures and Algorithms.
Arrays
- [ ] Binary Search (TopCoder)
- [ ] Sieve
- [x] Catalan Numbers
- [ ] Sliding Window Technique
- [ ] Recursion and Backtracking
- [ ] N_Queens (BacktoBackSWE)
- [ ] Tortoise and Hare Pointer
Bit Manipulation
- [ ] Count Set Bits
BST
- [ ] Search, Insert, Delete, Find
- [ ] Leetcode List
Dynamic Programming
- [x] Geeks for Geeks Top 20
- [ ] Aditya Verma Playlist
- [ ] AtCoder DP contest
- [ ] Top Code DP tutorial (Did novice and intermediate)
- [ ] Watch Tushar Roy Videos
Graphs
- [x] 0-1 BFS
- [x] BFS
- [x] BFS - 2d matrix
- [x] BFS - Shortest Path in Unweighted Graph
- [x] BFS - Bi-partite Graph
- [x] BFS - Bi-Directional BFS
- [x] DFS
- [x] DFS - Connected Components
- [x] DFS - All Ancestors in DAG
- [x] DFS - Calculate entry and exit time
- [x] DFS - Topological Sort
- [x] DFS - 2d matrix
- [x] DFS - Graph Colouring to Find Cycle
- [ ] DFS - LCA
- [x] Dijisktra **
- [x] Disjoint Set Union **
- [x] Kruskal using DSU
- [ ] Kosaraju SCC (https://www.youtube.com/watch?v=RpgcYiky7uw)
- [ ] Kahn's Algo for Top Sort
- [ ] Articulation Points (https://cp-algorithms.com/graph/cutpoints.html)
Hashing
- [ ] Various Types of Hashing
- [ ] Rolling Hash
Heap
Linked List
- [x] Insert
- [x] Delete Nth Node
- [x] Reverse
- [ ] Merge Two Sorted Linked List
- [ ] Fast Pointer, Slow Pointer technique
- [ ] Doubly Linked List
Searching and Sorting
- [x] Bubble Sort
- [x] Insertion Sort
- [x] Quick Sort
- [ ] Merge Sort
- [ ] Inversion Count
- [ ] Count Numbers Larger and Smaller than Self
- [ ] Radix Sort
- [ ] Count Sort
- [ ] Heap Sort
- [ ] Binary Search
Stack and Queues
- [ ] LRU Cache
- [ ] LFU Cache
Trees/Tries
- [x] Flatten Tree
- [x] Height of Tree
- [x] Iterative Traversals
- [x] Lowest Common Ancestor
- [x] Level Order Traversal
- [x] Diameter of a Binary Tree
- [x] Recursive Traversals
- [ ] Diagonal Traversal
- [ ] Vertical Traversal
- [ ] Serialize and Deserialize Trees
- [x] Trie
- [ ] Rope Structure
Strings
- [ ] Manacher's Algorithm
- [ ] Rabin Karp
- [ ] Palindrome Type Questions
Design Questions
- [ ] Max Stack
- [ ] Design twitter
Operating Systems
- [ ] SJF
- [ ] FCFS
- [ ] Round Robin
- [ ] Print numbers in sequence using different threads.
- [ ] Bounded Buffer Problem
- [ ] Dining Philosophers Problem
- [ ] The Readers Writers Problem
- [ ] LRU Cache
- [ ] Banker's Algorithm
Optional/Theory only
- [ ] Binary Indexed Tree
- [x] Segment Tree
- [x] Segment Tree (RMQ)
- [ ] AVL Tree
- [ ] KMP
- [ ] Cartesian Tree
- [ ] Floyd Warshall
- [ ] Convex Hull
- [ ] Line Sweep
- [ ] Manacher's Algorithm
- [ ] All applications of DSU