Data Structures and Algorithms: The Greatest Hits
Relevant Chapters from CTCI
- Arrays and Strings (1)
- Linked Lists (2)
- Stacks and Queues (3)
- Trees and Graphs (4)
- Bit Manipulation (5)
- Math and Logic Puzzles (6)
- Recursion and Dynamic Programming (8)
- Sorting and Searching (1)
- Moderate-Difficulty Questions (16)
Approach
- Flashcards for each implementation in JS
- Time/space complexity of each
- Three problems each
Data Structures
- Hash Table
- Linked Lists (Singly and Doubly Linked)
- Stack
- Queue
- Heap
- Binary Tree and Binary Search Tree
- B-Tree
- Tries
- Graphs
Sorting Algorithms
- Bubble Sort
- Merge Sort
- Quick Sort
- Heap Sort
Search Algorithms
- Binary Search
- Depth-First Search (graph/tree)
- Breadth-First Search (graph/tree)
Dynamic Programming
- Memoization
Other
- Bit Manipulation (by hand)
- The Factory pattern
- Recursion pattern (base case/recursive case)
Extra Credit (from Omri)
- Djikstra's algorithm
- Fast fourier transform
- Minimax
- Genetic algorithms
- Page rank
- Runner techniques in linked lists
- For depth first search: post-order, pre-order, in-order
- Knuth-Pratt or Boyer-Moore or other string matching algos
- Raycasting
- Stable roommates algorithm
- Fisher-Yates shuffle
Extra Credit (System Design)
- HTTP (at the protocol level)
- Databases (indexes, query planning)
- CDNs
- Caching (LRU cache, memcached, redis)
- Load balancers
Resources
- All Fullstack REACTOs
- Fullstack TRIVIA and CONCEPTS questions
- Princeton's Algorithms
- AlgoList
- Stanford Algos Course
Interview Tips
- https://medium.freecodecamp.com/5-key-learnings-from-the-post-bootcamp-job-search-9a07468d2331
- http://haseebq.com/how-to-break-into-tech-job-hunting-and-interviews/
- http://blog.calebjay.com/2016/11/14/how-to-use-linkedin-as-a-coding-bootcamp-grad/
- http://blog.calebjay.com/2016/10/18/how-this-coding-bootcamp-grad-found-a-job/
- https://docs.google.com/document/d/1si_EbTsaco-K97kRWqDtXTEugOoEA2O4j547MBP3O1M/edit
- https://medium.com/@kevincennis/how-to-impress-me-in-an-interview-4fc00e96413
- https://www.interviewcake.com/coding-interview-tips