PAGE / EN
Algorithms
This section is about building a reusable method library, not just collecting solved problems.
This section is about building a reusable method library, not just collecting solved problems.
Reading order
- The real risk in algorithm study is not difficulty, but lack of feedback loops
- Before solving more problems, build complexity intuition first
- Problem classification is pattern recognition, not label memorization
- Algorithm review template: turn “I solved it once” into “I own the method”
- Why dynamic programming so often feels like “I understand it when I read it, but I still cannot solve it”
Dynamic programming
- Start DP from state definition, not from formulas
- Many DP problems are really about choices
- When to move from memoization to a DP table
Pattern series
- Two pointers: when to think in terms of narrowing from both ends
- Sliding window: when interval problems do not need full recomputation
- Binary search: the real challenge is monotonicity and boundary design
- Monotonic stack: why so many “next greater element” problems collapse into one pattern
- Backtracking is constrained search, not random brute force
Data structure series
- Why linked list problems fall apart the moment pointer updates lose discipline
- Tree problems depend more on recursion semantics than traversal names
- Graph problems become much easier once the model is explicit