数据结构 课件 11-2二叉查找树_第1页
数据结构 课件 11-2二叉查找树_第2页
数据结构 课件 11-2二叉查找树_第3页
数据结构 课件 11-2二叉查找树_第4页
数据结构 课件 11-2二叉查找树_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构计算机领域本科教育教学改革试点工作计划(“101计划”)研究成果10111.2二叉查找树第11章

查找11.2.1二叉查找树11.2.2二叉查找树-插入11.2.3二叉查找树-删除11.2.4查找性能分析11.2.5作业11.2二叉查找树二叉查找树(BST)1.定义二叉查找树或者是一棵空树;或者是具有如下特性的二叉树:若根结点的左子树不空,则左子树上所有结点的值均小于根结点的值;若根结点的右子树不空,则右子树上所有结点的值均大于根结点的值;左、右子树本身也是一棵二叉查找树。中序遍历序列:23,37,45,54,65,78,82,85,87,94例如:不50308020901085403525238866是二叉查找树。11.2二叉查找树11.2二叉查找树二叉查找树key=45ppppkey=81ppp|查找二叉查找树的插入算法11.2二叉查找树“插入”操作在查找不成功时才进行;11..2二叉查找树305240插入80

检查

80

是否在树中

80>40,所以必定应该是40的右子树80插入

35检查35是否在树中

35<40,所以必定应该是40的左子树35插入

25检查25是否在树中

25>5,所以必定应该是5的右子树2511.2.2二叉排序树的插入11.2二叉查找树(1)被删除的结点是叶子(2)被删除的结点只有左子树或者只有右子树(3)被删除的结点既有左子树,也有右子树11.2.3二叉排序树的删除算法删除可分三种情况讨论:50308020908540358832(1)被删除的结点是叶子结点被删关键字=2088Tfpfp其双亲结点中相应指针域的值改为“空”11.2二叉查找树50308020908540358832(2)被删除的结点只有左子树或者只有右子树被删关键字=4080Tfpfp其双亲结点的相应指针域的值改为“指向被删除结点的左子树或右子树”。11.2二叉查找树50308020908540358832(3)被删除的结点

既有左子树,也有右子树4040被删结点p前驱结点s被删关键字=50Tqps以其前驱替代之,然后再删除该前驱结点11.2二叉查找树

/*右子树为空树则只需重接它的左子树*/q=p;p=p->lchild;f->lchild=p;

free(q);(f->rchild=p)ppffpqqp11.2二叉查找树/*左子树为空树只需重接它的右子树*/q=p;p=p->rchild;f->lchild=p;

free(q);(f->rchild=p)ppffqqpp11.2二叉查找树11.2.4查找性能的分析

对于一棵特定的二叉排序树,均可按照平均查找长度的定义来求它的ASL值,n个关键字,由于查找顺序不同可构造出不同形态的多棵二叉排序树,其平均查找长度的值不同,甚至可能差别很大。11.2二叉查找树由关键字序列3,1,2,5,4构造而得的二叉排序树,例如:由关键字序列1,2,3,4,5构造而得的二叉排序树,35412ASL=(1+2+3+4+5)/5=3ASL=(1+2+3+2+3)/5=2.22

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论