CSGrandeur's Thinking

Cogito Ergo Sum

平衡树

本章介绍平衡树的概念,详细讲解 AVL 树的平衡因子、四种平衡旋转操作及代码实现,并简介红黑树、Treap、SBT、B 树和 B + 树等其他平衡树。特别介绍了一种特殊的平衡树——伸展树的基本结构、核心操作、基本操作、序列操作、时间复杂度等内容。

阅读全文 »

图论基础2

从网络与流的基本概念出发,讨论最大流问题及其求解算法,包括Ford-Fulkerson方法、Edmonds-Karp算法和Dinic算法。介绍最大流最小割定理,以及费用流问题和二分图匹配问题。

阅读全文 »

图论基础1

优先队列及其底层堆结构原理、最小生成树的 Prim 与 Kruskal 算法、最短路的 Floyd 和 Dijkstra 算法及堆优化版本,以及拓扑排序。

阅读全文 »

动态规划入门

  • 动态(Dynamic):问题的解因时间或决策而变化
  • 规划(Programming):分解子问题,利用子问题之间关系求解
阅读全文 »

倍增与稀疏表(ST表)

倍增思想的核心在于通过预处理每个状态的跳跃步长(如2的幂次),将线性时间的操作优化为对数时间。其关键在于构建一个跳跃表,每个位置存储跳跃不同\(2^k\)步后的结果。对于多次跳跃问题,将总步数分解为若干2的幂次之和,逐次跳跃即可高效求解。

阅读全文 »
0%