图(2):最短路径算法(BFS与Dijkstra) 本文为算法课程的知识点复习,主要复习内容为两种最短路径算法——广度优先搜索(BFS)和 Dijkstra 算法,以及 Fibonacci 堆在 Dijkstra 算法优化中的应用。 2025-03-11 算法 > 图 #算法 #图论 #最短路径 #BFS #Dijkstra #斐波那契堆 #摊还分析
图(1):DFS及其应用 本文以图的基础算法——深度优先搜索(DFS) 为核心,探讨了其在求连通分量、检查是否有环、拓扑排序、求强连通分量等问题中的应用。 2025-03-11 算法 > 图 #算法 #图论 #DFS #拓扑排序 #Kosaraju算法
分治法(5):快速傅立叶变换(FFT) 本文介绍了多项式乘法的快速傅立叶变换算法,分为插值、乘法、恢复三个步骤,将乘法的时间复杂度降到O(nlogn)。 2025-03-11 算法 > 分治法 #算法 #分治法 #FFT
分治法(3):快速选择算法 本文从经典的选择问题出发,即寻找第k小的数,介绍了简单分治法,并用随机数方法及中位数的中位数算法(Median of Medians)进行了改进。 2025-03-11 算法 > 分治法 #算法 #分治法 #快速选择 #随机算法 #中位数的中位数
分治法(2):归并排序与求逆序数 本文介绍了分治法在排序算法中的应用——归并排序,并应用归并排序来设计求逆序数算法。此过程中,我们会学习算法的正确性分析以及分治算法时间复杂度分析的主定理。 2025-03-11 算法 > 分治法 #算法 #分治法 #正确性分析 #主定理 #归并排序
分治法(1):Karatsuba算法与大O表示法 本文将以大整数乘法的Karatsuba算法为例,介绍分治算法(Divide and Conquer),并介绍时间复杂度分析的大O表示法。 2025-03-11 算法 > 分治法 #算法 #分治法 #Karatsuba算法 #时间复杂度