外部排序
当数据量大到内存放不下时,所有内部排序算法都失效了。外部排序的策略:先把数据分成小块在内存中排序后写回磁盘(生成初始归并段),再用多路归并合并成最终有序文件。核心瓶颈在于磁盘 I/O。
图的基本概念与存储结构
图(Graph)G 由顶点集 V和边集 E组成,记为 G = (V, E)。顶点之间的关系是任意的——任意两个顶点之间都可能存在边,这是图与树、线性表的本质区别。
图的遍历
图的遍历需要解决两个特殊问题:一是图中可能存在回路,需要标记已访问顶点防止重复访问;二是图可能不连通,需要遍历所有顶点,对每个未访问顶点启动一次遍历。
KMP 算法
KMP(Knuth-Morris-Pratt)算法是 串 的模式匹配优化算法。其核心思想是:利用已匹配信息确定模式串的滑动位置,主串指针永不回退。
merge-sort
归并排序是唯一一个既稳定又保证 O(n log n) 的比较排序。代价是需要 O(n) 额外空间。
查找算法
查找表(Search Table)是由同一类型的数据元素组成的集合。根据操作方式不同分为两类:
最短路径与拓扑排序
BFS 求无权图单源最短路径利用其逐层扩展的特性:首次到达即最短。详见 图的遍历。
排序基础概念
排序(Sorting)是将一组数据元素按照关键字的递增(或递减)顺序重新排列的过程。
交换排序
交换类排序的核心操作:比较两个元素,若逆序则交换。代表算法有冒泡排序和快速排序。
插入排序
插入类排序的核心思想:将元素插入到已排序序列的合适位置。代表算法有直接插入排序、折半插入排序和希尔排序。










