2. Hash Table
Implementation
- Hash Table
3. Array & String
CCI questions
1.1 Is Unique
1.2 Check Permutation
1.3 URLify
1.4 Palindrome Permutation
1.5 One Away
1.6 String Compression
1.7 Rotate Matrix
1.8 Zero Matrix
1.9 String Rotation
4. Linked List
Implementation
- Single Linked List
- Double Linked List
- Circular Linked List
CCI questions
2.1 Remove Duplicates
2.2 Find Kth to Last Element
2.3 Delete Middle Node
2.4 Partition
2.5 Sum Lists
2.6 List is Palindrome
2.7 Lists Intersect
2.8 Loop Detection
5. Stack & Queue
Basic Implementation
- Stack
- Queue
- Queue with 2 stacks
- Circular Queue
CCI questions
3.1 Three in One: Describe how you could use a single array to implement three stacks
3.2 Stack Min
3.3 Stack of Plates
3.4 Queue via Stacks
3.5 Sort Stack
6. Trees and Graphs
Implementation
- Binary Search Tree
- Graph
CCI questions
4.1 Route Between Nodes
4.2 Minimal Tree
4.3 List of Depths
4.4 Check Balanced
4.5 Validate BST
4.6 Successor
4.7 Build Order
7. Bit Manipulation
CCI questions
5.1 Insertion
5.3 Flip Bit to Win
5.4 Next Number
8. Recursion and Dynamic Programming
CCI questions
8.1 Triple Step
8.10 Paint Fill
8.2 Robot in a Grid
8.3 Magic Index
8.4 Power Set
8.5 Recursive Multiply
8.7 Permutations without Dups
8.8 Permutations with Dups
8.9 All Combintations of Parens
9. Sorting and Searching
Basic Implementation
Sorting
Bubble Sort
- Selection Sort
- Merge Sort
- Quick Sort
Heap Sort
Search
Binary Search
CCI questions
10.1 Sorted Merge
10.2 Group Anagrams
10.3 Search in Rotated Array
10.5 Sparse Search
10.9 Sorted Matrix Search Bucket Sort Example
10. Threads and Locks
15.3 Dining Philoslophers
15.7 Concurrent Fizz Buz