网站大量收购独家精品文档,联系QQ:2885784924

数据结构第9章解析.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第9章解析

9.2.1 二叉排序树----删除 二叉排序树的删除 *p的左子树PL和右子树PR均不为空 方法3、令*p的中序遍历的直接前驱替代*p,再从二叉排序树中删去它的直接前驱。 这种方法不会导致二叉排序树高度的增长! 本例中高度:5?5 删除时,如何不增长树的高度? 33 44 23 46 12 37 44 40 50 48 35 38 40 40 38 38 33 44 23 46 12 37 44 40 50 48 35 38 9.2.1 二叉排序树----删除 二叉排序树的删除 *p的左子树PL和右子树PR均不为空 方法4:与方法3对称,令*p的中序遍历的直接后继替代*p,再从二叉排序树中删去它的直接后继。 33 44 23 46 12 44 50 48 37 40 35 38 46 46 48 50 48 50 33 44 23 46 12 37 44 40 50 48 35 38 33 44 23 46 12 37 44 40 50 48 35 38 33 44 23 46 12 37 44 40 50 48 35 38 40 40 38 38 9.2.1 二叉排序树----删除算法 9.2.1 二叉排序树----性能分析 二叉排序树的查找分析 与给定值比较的关键字个数不超过二叉排序树的深度 示例:从空树出发,待插的关键字序列为33,44,23,46,12,37 33 44 23 46 12 37 二叉排序树的形态与关键字的插入次序直接相关!如:将上例的关键字插入次序调整为: 12, 23, 33, 44, 37, 46 12 23 33 37 44 46 查找成功且各记录的查找概率相等时 ASL(a)=(1+2*2+3*3)/6=14/6 查找成功且各记录的查找概率相等时 ASL(b)=(1+2+3+4+5*2)/6=20/6 9.2.1 二叉排序树----性能分析 9.2.1 二叉排序树----性能分析 对给定序列建立二叉排序树,若左右子树均匀分布,则其查找过程类似于有序表的折半查找。但若给定序列原本有序,则建立的二叉排序树就蜕化为单链表,其查找效率和顺序查找一样。 第九章 查找 9.1 顺序查找 9.2 动态查找表 9.3 哈希表 9.3 哈希表 9.3.1 什么是哈希表 9.3.2 哈希函数的构造方法 9.3.3 处理冲突的方法 9.3.4 哈希表的查找及其分析 9.3.1 什么是哈希表 9.1和9.2节讨论的各查找方法 记录在查找表中的位置和它的关键字之间不存在确定的关系; 查找是建立在比较的基础上(给定值 vs.表中的关键字) 查找效率依赖于查找过程中所进行的比较次数 如何一次存取便能得到所查记录? 记录的存储位置和它的关键字之间建立一个确定的对应关系H,以H(key) 作为关键字为 key 的记录在表中的位置,称这个对应关系H为哈希(Hash)函数。 9.3.1 什么是哈希表 例:30个地区的各民族人口统计表 编号 地区名 总人口 汉族 回族 … 1 北京 2 上海 ┆ ┆ 以编号作关键字, 构造哈希函数:H(key)=key H(1)=1 H(2)=2 以地区名作关键字,取地区名的第一个拼音字母的序号作哈希函数:H(Beijing)=2 H(Shanghai)=19 H(Shenyang)=19 9.3.1 什么是哈希表 哈希函数是一个映象,哈希函数的设定很灵活,只要使任何关键字的哈希函数值都落在表长允许的范围之内即可; 冲突:key1≠key2,但H(key1)=H(key2)的现象 具有相同哈希函数值的关键字称做同义词。 根据设定的哈希函数 H(key) 和所选中的处理冲突的方法,将一组关键字映象到一个有限的、地址连续的地址集 (区间) 上,并以关键字在地址集中的“象”作为记录在表中的存储位置,这种表便称为哈希表,这一映象过程称为哈希造表或散列,所得存储位置称哈希地址或散列地址。 佛山科学技术学院 Foshan University * 第九章 查找 重点:掌握顺序查找、折半查找、二叉排序树上查找以及散列表上查找的基本思想和算法实现。 难点:二叉排序树的删除算法及B-树上的插入和删除算法。 相关定义----查找表 查找表(Search Table) 定义:由同一类型的数据元素(或记录)构成的集合。 “集合”中的数据元素之间存在着完全松散的关系?查找表是一种非常灵便的数据结构 操作 查询某个“特定的”数据元素是否在查找表中; 检索某个“特定的”数据元素的各种属性; 相关定义----查找表及其分类 操作 在查找表中插入一个数据元素; 从查找表中删去某个数据元素。 查找表的分类 静态查找表:仅作查询和检索操作的查找表。 动态查找表:在查询过程中同时插入查找表中不存在的数据元素,或者从查

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档