
分治
分治法是一种算法设计思想,其核心在于将复杂的大问题分解为若干结构相同且相互独立的微型子问题,通过递归求解各子问题后再将其解合并,从而高效得出原问题的解。
算法设计
页码4/5

分治法是一种算法设计思想,其核心在于将复杂的大问题分解为若干结构相同且相互独立的微型子问题,通过递归求解各子问题后再将其解合并,从而高效得出原问题的解。

递归是一种通过函数调用自身来解决问题的编程技巧,其核心在于具备终止条件与递归步骤,通过将大问题拆解为规模更小的子问题逐步求解,但也需注意避免因重复计算导致的性能陷阱。

穷举搜索(暴力搜索)是一种通过无遗漏地列举并检验解空间中的每一个候选解,以算力换取解法正确性的基础计算机求解策略。

数组是程序设计中最基础的数据结构,它把相同类型的数据按连续的内存位置有序存放,通过下标就能快速访问对应元素,便于批量存储与处理一组数据,但数组长度大多固定,插入删除操作效率相对较低。

Floyd‑Warshall 算法是基于动态规划的全源最短路径算法,可求解图中任意两点最短距离,支持负权边,适合小规模稠密图,也能够检测图中的负权环。

增量式 Floyd 在标准 Floyd 基础上,按顺序逐步加入中间节点 k,动态更新任意两点间最短路径,支持节点逐个新增的场景;它复用之前已算好的路径结果,不必每次从头完整重跑,适合图中节点不断增加的问题,时间复杂度仍为\(O(n^3)\)。

二分查找针对有序序列,每次取中间元素和目标对比,减半缩小查找范围,时间复杂度 O (log n),查找效率高。

Dijkstra 算法是图论中经典的贪心算法,依托松弛操作求解非负边权带权图的单源最短路径,广泛运用于路径规划、网络路由等各类工程场景。