30.图论基础1
图论基础1
优先队列及其底层堆结构原理、最小生成树的 Prim 与 Kruskal 算法、最短路的 Floyd 和 Dijkstra 算法及堆优化版本,以及拓扑排序。
倍增思想的核心在于通过预处理每个状态的跳跃步长(如2的幂次),将线性时间的操作优化为对数时间。其关键在于构建一个跳跃表,每个位置存储跳跃不同\(2^k\)步后的结果。对于多次跳跃问题,将总步数分解为若干2的幂次之和,逐次跳跃即可高效求解。
字面意思,把数据分成一块一块去处理。
比如数据存在一段一段连续的相同值时,把相同的值看作一个的"块",从而快速跳过。
比如把要经常批量处理的数据分成一个一个的块,在批量处理时,整个被覆盖的块做整体处理,没整个覆盖的再挨个处理。