福建专升本数据结构复习课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
福建专升本数据结构复习课件

2. 二叉排序树的插入与创建 【创建原则】 从空树出发,经过一系列的查找、插入操作之后,可生成一棵二叉排序树。同样的关键字,给出的顺序不同,生成的树不同。第一个关键字是根结点。 【插入原则】 若二叉排序树为空,则插入结点应为新的根结点;否则,继续在其左、右子树上查找,直至某个叶子结点的左子树或右子树为空为止,则插入结点应为该叶子结点的左孩子或右孩子。 举例: 例 {10, 18, 3, 8, 12, 2, 7, 3} 10 10 18 10 18 3 10 18 3 8 10 18 3 8 12 10 18 3 8 12 2 10 18 3 8 12 2 7 10 18 3 8 12 2 7 3 中序遍历二叉排序树可得到一个关键字的有序序列 3. 二叉排序树的查找 当二叉排序树不空时,首先将给定值和根结点的关键字比较,若相等,则查找成功,否则将根据给定值与根结点关键字之间的大小关系,决定在左子树或右子树上继续查找。 10 18 3 8 12 2 7 找 8 10 18 3 8 12 2 7 10 18 3 8 12 2 7 10 18 3 8 12 2 7 二叉排序树的查找算法(另一种简单写法) BSTree SearchBST(BSTree bst, KeyType key) / *在根指针bst所指二叉排序树中,递归查找某关键字等于key的元素,若查找成功,返回指向该元素结点指针,否则返回空指针* / { if (!bst) return NULL; else if (bst-key == key) return bst; / *查找成功* / else if (bst-key key) return SearchBST(bst-lchild, key); / *在左子树继续查找* / else return SearchBST(bst-rchild, key); / *在右子树继续查找* / } 5. 查找性能的分析   对于每一棵特定的二叉排序树,均可按照平均查找长度的定义来求它的ASL值,显然,由值相同的n个关键字构造所得的不同形态的各棵二叉排序树的平均查找长度的值不同,甚至可能差别 很大,例如: 由关键字序列1,2,3,4,5 构造而得的二叉排序树,     ASL =(1+2+3+4+5)/ 5 = 3 由关键字序列3,1,2,5,4构造而得的二叉排序树     ASL =(1+2+3+2+3)/ 5 = 2.2 3 1 5 2 4 3 1 5 2 4 9.4 哈希表(计算式查找法) 9.4.1 哈希表的概念 1. 哈希查找的基本思想 在记录的存储地址和它的关键字之间建立一个确定的对应关系;这样不经过比较,一次存取就能得到所查元素的查找方法。 2. 哈希函数 在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。 哈希函数是一种映象,是从关键字空间到存储地址空间的一种映象。 哈希函数可写成:addr(ai)=H(ki) 其中:ai是表中的一个元素 addr(ai)是ai的存储地址 ki是ai的关键字 3. 哈希表 应用哈希函数,由记录的关键字确定记录在表中的地址,并将记录放入此地址,这样构成的表叫哈希表。 4. 哈希查找 又叫散列查找,利用哈希函数进行查找的过程叫哈希查找。 例 30个地区的各民族人口统计表 编号 地区 总人口 汉族 回族…... 1 北京 2 上海 …... …... 以编号作关键字, 构造哈希函数:H(key)=key H(1)=1 H(2)=2 以地区作关键字,取地区 名称第一个拼音字母的序号 作哈希函数:H(Beijing)=2 H(Shanghai)=19 H(Shenyang)=19 5. 冲突 key1?key2,但H(key1)=H(key2)的现象叫冲突。 同义词:具有相同函数值的两个关键字,叫该哈希函数的同义词。 哈希函数通常是一种压缩映象,所以冲突不可避免,只能尽量减少;同时,冲突发生后,应该有处理冲突的方法。 9.4.2 哈希函数的构造方法 1. 直接定址法 【构造】 取关键字或关键字的某个线性函数作哈希地址,即 H(key)=key 或 H(key)=a·key+b 比如:统计1-100岁的人口,用年龄做关键字,哈希函授可以就取

文档评论(0)

celkhn0303 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档