摘要:
前面章节所介绍的有关在静态查找表中对特定关键字进行顺序查找、折半查找或者分块查找,都是在查找表中各关键字被查找概率相同的前提下进行的。 例如查找表中有 n 个关键字,表中每个关键字被查找的概率都是 1/n。在等概率的情况,使用折半查找算法的性能最优。 而在某些情况下,查找表中各关键字被查找的概率是不 阅读全文
posted @ 2018-05-21 14:39
程序员进阶笔记
阅读(2898)
评论(0)
推荐(1)
摘要:
本节介绍一种在顺序查找的基础上对其进行改进的算法——分块查找算法。 分块查找,也叫索引顺序查找,算法实现除了需要查找表本身之外,还需要根据查找表建立一个索引表。例如图 1,给定一个查找表,其对应的索引表如图所示: 图 1 查找表及其对应的索引表 图 1 中,查找表中共 18 个查找关键字,将其平均分 阅读全文
posted @ 2018-05-21 14:29
程序员进阶笔记
阅读(13829)
评论(0)
推荐(2)
摘要:
折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。 例如,在{5,21,13,19,37,75,56,64,88 ,80,92}这个查找表使用折半查找算法查找数据之前,需要首先对该表中的数据按照所查的关键字进行排序 阅读全文
posted @ 2018-05-21 09:45
程序员进阶笔记
阅读(22548)
评论(0)
推荐(3)
摘要:
通过前面对静态查找表的介绍,静态查找表即为只做查找操作的查找表。 静态查找表既可以使用顺序表表示,也可以使用链表结构表示。虽然一个是数组、一个链表,但两者在做查找操作时,基本上大同小异。 本节以静态查找表的顺序存储结构为例做详细的介绍。 顺序查找的实现 静态查找表用顺序存储结构表示时,顺序查找的查找 阅读全文
posted @ 2018-05-21 09:40
程序员进阶笔记
阅读(9248)
评论(1)
推荐(0)
摘要:
在日常生活中,几乎每天都要进行一些查找的工作,在电话簿中查阅某个人的电话号码;在电脑的文件夹中查找某个具体的文件等等。本节主要介绍用于查找操作的数据结构——查找表。 查找表是由同一类型的数据元素构成的集合。例如电话号码簿和字典都可以看作是一张查找表。一般对于查找表有以下几种操作: 在查找表中查找某个 阅读全文
posted @ 2018-05-21 09:36
程序员进阶笔记
阅读(483)
评论(0)
推荐(0)
摘要:
本章通过介绍不同的查找表,来讲解多种查找算法的实现,例如顺序查找、二分查找、分块查找等。同时本章中还会借用学过的树结构来实现查找具体数据的目的。 阅读全文
posted @ 2018-05-21 09:34
程序员进阶笔记
阅读(435)
评论(0)
推荐(0)
摘要:
本节介绍一种解决系统中内存碎片过多而无法使用的方法——边界标识法。 在使用边界标识法的系统管理内存时,可利用空间表中的结点的构成如图 1: 图 1 结构构成 每个结点中包含 3 个区域,head 域、foot 域 和 space 域: space 域表示为该内存块的大小,它的大小通过 head 域中 阅读全文
posted @ 2018-05-21 09:32
程序员进阶笔记
阅读(1605)
评论(0)
推荐(0)

浙公网安备 33010602011771号