- 1、本文档共149页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
真题 2015年11月61 第五部分 图 真题 2016年5月61 第五部分 图 分值:5 ~ 15分 (每年) 分数比重:10% 重要知识点: 1、静态表查找——顺序查找、折半查找 2、动态表查找——二叉排序树 3、哈希表 4、插入类排序 5、交换类排序 6、选择类排序 7、分配类排序 第六部分 排序与查找 查找 基本概念: 静态查找 :不涉及插入和删除操作的查找 。 动态查找 :涉及插入和删除操作的查找。 平均查找长度:将查找算法进行的关键码的比较次数的数学期望 值定义为平均查找长度。计算公式为: 其中:n :问题规模,查找集合中的记录个数; pi :查找第i个记录的概率; ci :查找第i个记录所需的关键码的比较次数。 第六部分 排序与查找 静态查找 顺序查找:从线性表的一端向另一端逐个将关键码与给定值进行比较,若相等,则查找成功,给出该记录在表中的位置;若整个表检测完仍未找到与给定值相等的关键码,则查找失败,给出失败信息。 折半查找:在有序表中,取中间元素作为比较对象 1、若给定值与中间记录的关键字相等,则查找成功; 2、若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。 3、不断重复上述过程,直到查找成功,或所查找的区域无记录(lowhigh),查找失败。 前提:线性表中的记录必须按关键字有序;必须采用顺序存储。 第六部分 排序与查找 动态查找——二叉排序树 定义:一棵二叉树中,每一个结点的左子树上的结点都比它小,右子树 上的结点都比它大。这种二叉树称为二叉排序树。 二叉排序树的查找:从根结点开始比较,如果比根结点的值小,则到根结点的左子树上去查找;比根结点大,到根结点的右子树上去查找;与根结点相等,说明查找成功。依此类推,直到所要查找的结点为空,说明查找失败。 二叉排序树的构造:将二叉排序树初始化为一棵空树,然后按照顺序逐个读入元素,每读入一个元素,就建立一个新的结点插入到当前已生成的二叉排序树中,即调用上述二叉排序树的插入算法将新结点插入。直到所有结点插入完成,二叉排序树就构造完成了。 注:若二叉排序树为空树,则新插入的结点为新的根结点;否则,新插入的结点必为一个新的叶子结点,其插入位置由查找过程得到。 第六部分 排序与查找 动态查找——二叉排序树 结论:对同样一组数据元素,如果输入的顺序不同,则所建的二叉树 形态也不同。 特点: 1、一个无序序列可以通过构造一棵二叉排序树而变成一个有序序列; 2、每次插入的新结点都是二叉排序树上新的叶子结点; 3、找到插入位置后,不必移动其它结点,仅需修改某个结点的指针; 4、在左子树/右子树的查找过程与在整棵树上查找过程相同; 5、新插入的结点没有破坏原有结点之间的关系。 第六部分 排序与查找 练习:关键字的输入顺序为:45, 24 , 53 , 12 , 28 , 90,和 24, 53, 90, 12, 28, 45 ,分别构造二叉排序树 动态查找——二叉排序树的删除 1. 若结点p是叶子,则直接删除结点p; 2. 若p结点只有左子树,或只有右子树,则 因为该结点只有左子树或只有右子树,也就是说,其后继只有一个分支。删除该结点时,只要将被删除结点的唯一后继(左子树或右子树)直接链接到被删除结点的位置即可。 3. 若结点p的左右子树均不空: 首先找到p结点在中序序列中的直接前驱s结点,然后用s结点的值,替代p结点的值,再将s结点删除,因为s的右指针一定为空,所以只要把s的左孩子链接到s结点本身的位置即可。 第六部分 排序与查找 哈希表 定义: 在元素的关键字k 和元素的存储位置p 之间建立一个对应关系H,使得p=H(k),H称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为H(k)的单元;以后当查找关键字为k的元素时,再利用哈希函数计算出该元素的存储位置p=H(k),从而达到按关键字直接存取元素的目的。这种查找的方法称为哈希法。 哈希函数设计原则: ⑴ 计算简单。哈希函数不应该有很大的计算量,否则会降低查找效率。 ⑵ 函数值即哈希地址分布均匀。函数值要尽量均匀散布在
文档评论(0)