Software Engineer Notes
1.0
Table of Contents
1. Part I - Introduction
2. Part II - C++ Built-in Data Structure
3. Part III - Advanced Data Structure and Algorithm
3.1. Number System
3.2. Matrix
3.3. Tree
3.4. Dynamic Programming
3.5. Computational Geometry
3.6. Math
3.7. Combinatorics
3.8. Graph
3.9. Binary Search
3.10. Concurrency
3.11. Greedy Algorithm
3.12. Approximation Algorithm
3.13. Advanced Data Structure And Algorithm
4. Part IV - Interview
5. Sample
Software Engineer Notes
3.
Part III - Advanced Data Structure and Algorithm
View page source
3.
Part III - Advanced Data Structure and Algorithm
3.1. Number System
3.1.1. Binary and Bits
3.1.2. Number System Conversion
3.1.3. Number Representation
3.1.4. Questions
3.2. Matrix
3.2.1. Questions
3.3. Tree
3.3.1. Tree Traversal
3.3.2. Lowest Common Ancestor
3.3.3. Segment Tree
3.3.4. Tournament Tree
3.3.5. AVL Tree
3.3.6. Cord Tree
3.3.7. QuadTree
3.3.8. Questions
3.4. Dynamic Programming
3.4.1. Questions
3.5. Computational Geometry
3.5.1. Questions
3.6. Math
3.6.1. Probability Theory
3.6.2. Number Theory
3.6.3. Game Theory
3.6.4. Questions
3.7. Combinatorics
3.7.1. Letter Combinations of a Phone Number
3.8. Graph
3.8.1. Representation of Graph
3.8.2. BFS
3.8.3. DFS
3.8.4. Topological Sort
3.8.5. Minimum Spanning Tree
3.8.6. Single-Source Shortest Paths
3.8.7. All-Pairs Shortest Paths
3.8.8. Other Graph Algorithms
3.8.9. Questions
3.9. Binary Search
3.9.1. Split Array Largest Sum
3.10. Concurrency
3.11. Greedy Algorithm
3.11.1. Huffman Coding
3.11.2. Maximum Length of Pair Chain
3.12. Approximation Algorithm
3.13. Advanced Data Structure And Algorithm
3.13.1. Bloom Filter
3.13.2. Disjoint Set (Union-Find)
3.13.3. LRU Cache
3.13.4. Interval Tree
3.13.5. Order Statistic Tree
3.13.6. Token Bucket
3.13.7. SkipList
3.13.8. Questions