Algorithmic complexity
Data Structures
* Array
* List
* Stack
* Queue
* Dictionary
* Hash Table
* Set
* Tree
* Heap
* Priority Queue
* Binary Heap
* Binary search trees: BSTs
* balanced search trees
Search
* Binary search
* Interpolation Search
Bitwise operations
Graph/Tree traversals:
* preorder, inorder, postorder, BFS, DFS
* topological sort
* Ashutosh's notes : re-inforcement learning (cost/reward tradeoff)
Sorting:
* Merge
* Quick
* Bucket
* Radix
* Bubble
* Insertion
* Heap
Dynamic Programming:
* Coin toss
* Knapsack
* N Subset problem
* HMM
Design Patterns:
* Factory,
* Façade
* State
* Observer
* Builder
* Adapter
* Decorator
* Flyweight
* Chain
* Momento
* Null
* Strategy
* Template
String searching & manipulations
Tries
System Design examples
DBMS
Networking
Operating systems
User Interface
Backend
Machine learning