09 2019 档案
摘要:符号表 API 有序符号表 成本模型 无序链表中的顺序查找 实现 性能 有序数组中的二分查找 实现 性能 现代计算机和网络使人们能够访问海量的信息,而且各种计算设备正在源源不断地生成新的信息,高效检索这些信息的能力就成了处理它们的重要前提。接下来学习几种经典的查找算法。 符号表 符号表指的是一张用于
阅读全文
摘要:优先队列 初级实现 二叉堆 堆的有序化 由下至上的堆有序化 由上至下的堆有序化 基于堆的优先队列 堆排序 优先队列 许多情况下,不一定需要将元素全部排序,而只是需要取得当前元素中的最大或最小元素,然后再收集更多的元素,等需要时再取得最大或最小元素即可。在这种情况下,一个合适的数据结构应该支持两种操作
阅读全文
摘要:基本算法 代码 切分方法 性能特点 算法改进 切换到插入排序 三取样切分 针对重复元素的优化 三向切分 本节将要学习的快速排序,可以说是应用最广泛的排序算法了,很多语言如Java、C 的系统排序采用的便是快速排序。快速排序实现简单,而且适用于各种不同的输入数据,且在一般的应用中比其他排序算法都要快得
阅读全文
摘要:归并方法 自顶向下的归并排序 实现 性能分析 优化:切换到插入排序 自底向上的归并排序 归并方法 “归并”操作是将两个有序的数组合并成一个更大的有序数组,归并排序就是基于这一操作,先递归地将一个数组分成两半分别排序,然后将排序结果归并起来。 归并的代码如下: 这种归并方法用了一个辅助数组aux[],
阅读全文