Algorithm is the basic skill you need to master for top-level company interviews. I highly suggest you to read more than one book and watch more than one video course to completely master algorithm.
Design and Analysis of Algorithms (Recommend)
Introduction to Algorithms, 3rd Edition (MIT Press)
Data Structures and Algorithms Specialization
Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition
Bag
Queue
Stack
Heap
UnionFind
BinaryIndexedTree
SegmentTree
Trie
*HashMap & HashSet
*RedBlackTree
*IntervalTree
*KdTree
Selection Sort
Insertion Sort
Shell Sort
Merge Sort
Quick Sort
Heap Sort
LSD
MSD
All in One
BFS
DFS
Cycle
Strong Connected Component
Topological Sort
BiGraph
- Binary Search Tree
- Binary Tree Traversal (Pre-Order, In-Order, Post-Order)
- KMP
- Divide and Conquer
- Dynamic Programming
- If you are Chinese
- If you are not Chinese Tushar Roy