摘要:键索引计数法 频率统计 将频率转换为索引 数据分类 回写 低位优先的字符串排序 高位优先的字符串排序 许多重要而熟悉的问题都是基于字符串处理的,比如信息处理(根据给定的关键字搜索网页、文档)、通信系统(发送文本消息、电子邮件、下载电子书)、编程系统(程序是由字符串组成的,再由编译器或解释器将字符串转 阅读全文
posted @ 2020-01-01 16:53 zhixin9001 阅读 (5) 评论 (0) 编辑
摘要:加权有向图 数据结构 加权有向边 加权有向图 最短路径 边的松弛 Dijkstra算法 地图或者导航系统是最短路径的典型应用,其中顶点对应交叉路口,边对应公路,边的权重对应经过一段路的成本(时间或距离)。在这个模型中,问题可以被归纳为:找出从一个顶点到达另一个顶点的成本最小的路径。此外,网络路由、任 阅读全文
posted @ 2020-01-01 16:47 zhixin9001 阅读 (3) 评论 (0) 编辑
摘要:最小生成树的应用 切分定理 贪心算法 加权无向图的数据结构 Prim算法 Kruskal算法 最小生成树的应用 加权图是一种为每条边关联一个权值的图模型,这种图可以表示许多应用,比如在一副航空图中,边表示航线,权值就可以表示距离或费用;在一副电路图中,边表示导线,权值就可以表示导线的长度或成本。在这 阅读全文
posted @ 2020-01-01 16:43 zhixin9001 阅读 (34) 评论 (0) 编辑
摘要:表示无向图的数据结构 邻接表数组 深度优先搜索 深度优先搜索寻找路径 深度优先搜索的性能特点 广度优先搜索 两种搜索方式的对比 图表示由相连的结点所表示的抽象模型,这个模型可以用来研究类似“能否从某个点到达指定的另一个点”、“有多少个结点和指定的结点相连”、“两个结点之间最短的连接是哪一条”。图的算 阅读全文
posted @ 2019-11-24 21:08 zhixin9001 阅读 (46) 评论 (0) 编辑
摘要:散列函数 基于拉链法的散列表 实现 性能 基于线性探测法的散列表 实现 性能 如果所有的键都是小整数,则可以用一个数组来作为无序的符号表,将键作为数组的索引,数组中对应的位置保存的值就是这个键对应的值。这样就可以快速访问任意的键了。散列表就是基于这种方法,但它能够处理更加复杂的数据类型。 使用散列的 阅读全文
posted @ 2019-10-25 22:58 zhixin9001 阅读 (23) 评论 (0) 编辑
摘要:二叉查找树 查找 插入 性能 有序性相关的操作 最大键、最小键 向上取整、向下取整 选择、排名 范围查找 删除操作 删除最大键、最小键 通用删除操作 二叉查找树 前面了解的无序链表和有序数组在性能方面至少在线性级别,无法用于数据量大的场合。接下来要学习的二叉查找树可以将链表插入的灵活性和有序数组查找 阅读全文
posted @ 2019-10-04 11:10 zhixin9001 阅读 (23) 评论 (0) 编辑
摘要:符号表 API 有序符号表 成本模型 无序链表中的顺序查找 实现 性能 有序数组中的二分查找 实现 性能 现代计算机和网络使人们能够访问海量的信息,而且各种计算设备正在源源不断地生成新的信息,高效检索这些信息的能力就成了处理它们的重要前提。接下来学习几种经典的查找算法。 符号表 符号表指的是一张用于 阅读全文
posted @ 2019-09-23 20:01 zhixin9001 阅读 (46) 评论 (0) 编辑
摘要:优先队列 初级实现 二叉堆 堆的有序化 由下至上的堆有序化 由上至下的堆有序化 基于堆的优先队列 堆排序 优先队列 许多情况下,不一定需要将元素全部排序,而只是需要取得当前元素中的最大或最小元素,然后再收集更多的元素,等需要时再取得最大或最小元素即可。在这种情况下,一个合适的数据结构应该支持两种操作 阅读全文
posted @ 2019-09-17 22:27 zhixin9001 阅读 (22) 评论 (0) 编辑
摘要:基本算法 代码 切分方法 性能特点 算法改进 切换到插入排序 三取样切分 针对重复元素的优化 三向切分 本节将要学习的快速排序,可以说是应用最广泛的排序算法了,很多语言如Java、C 的系统排序采用的便是快速排序。快速排序实现简单,而且适用于各种不同的输入数据,且在一般的应用中比其他排序算法都要快得 阅读全文
posted @ 2019-09-10 21:10 zhixin9001 阅读 (46) 评论 (0) 编辑
摘要:归并方法 自顶向下的归并排序 实现 性能分析 优化:切换到插入排序 自底向上的归并排序 归并方法 “归并”操作是将两个有序的数组合并成一个更大的有序数组,归并排序就是基于这一操作,先递归地将一个数组分成两半分别排序,然后将排序结果归并起来。 归并的代码如下: 这种归并方法用了一个辅助数组aux[], 阅读全文
posted @ 2019-09-04 21:33 zhixin9001 阅读 (61) 评论 (0) 编辑