数据结构课件第九章学习教案.pptx
《数据结构课件第九章学习教案.pptx》由会员分享,可在线阅读,更多相关《数据结构课件第九章学习教案.pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1数据结构数据结构(sh j ji u)课件第九章课件第九章第一页,共43页。D01曲守宁数据库004S01王永燕数据结构003L01潘玉奇程序设计002S01严蔚敏数据结构001课程号课程名教师课程类别课程安排表文件(wnjin)记录(jl)数据项主关键字次关键字第1页/共43页第二页,共43页。对文件经常进行(jnxng)的操作有:1) 查询(chxn)某个“特定”的数据元素是否存在4) 对数据(shj)元素进行排序2) 插入某个数据元素3) 删除某个数据元素查找算法排序算法不管何种操作,都遵循一个重要的性质:都是对主关键字操作第2页/共43页第三页,共43页。9.1 静态(jngt
2、i)查找9.1.1 顺序(shnx)查找从表最后一个记录开始(kish),逐个向前进行记录关键字和给定值的比较,相等,查找成功;不等,比较下一个记录;思想:直至第一个记录,若均不等,则查找不成功。第3页/共43页第四页,共43页。12. . .n-2n-1nTomAnnieJohnRoseJack查找(ch zho) John 比较(bjio) 2 次查找(ch zho) Jack 比较 n - 1 次若查找不存在比较 n 次第4页/共43页第五页,共43页。9.1.2 有序表的查找(ch zho)表中数据元素(yun s)按照主关键字顺序排列。 折半(zhbn)查找 斐波那契查找 插值查找5
3、 ,13 ,19 ,21 ,37 ,56 ,64 ,75 ,80 ,88 ,92第5页/共43页第六页,共43页。折半(zhbn)查找5 ,13 ,19 ,21 ,37 ,56 ,64 ,75 ,80 ,88 ,92lowhighmid = ( low + high ) / 2查找(ch zho) 211 2 3 4 5 6 7 8 9 10 11midmid = 6high = mid 1 = 5highmid = 3midlow = mid + 1 = 4lowmid = 4mid找到查找 85lowhighmid = 6midlow = mid + 1 = 7lowmid = 9midl
4、ow = mid + 1 = 10lowmid = 10midhigh = mid 1 = 9highhigh low 查找(ch zho)不成功第6页/共43页第七页,共43页。9.2 动态(dngti)查找表静态查找只是对表中元素进行(jnxng)检索,返回成功或不成功;动态查找不但对表中元素进行检索,还可以通过(tnggu)检索过程来实现表的更新;检索到,则返回成功;检索不到,则将新元素插入到表中适当位置。第7页/共43页第八页,共43页。9.2.1 二叉排序(pi x)树(二叉分类树)二叉排序(pi x)树或者是一棵空树;或者是具有下列性质的二叉树: (1) 左子树上所有(suyu)结
5、点的值均小于等于它的根结点的值; (2) 右子树上所有结点的值均大于它的根结点的值; (3) 根结点的左、右子树也分别为二叉排序树。 13 8523 1837第8页/共43页第九页,共43页。查询(chxn)操作: 13 8523 1837如何查找(ch zho)元素 5 ?555查找(ch zho)成功!第9页/共43页第十页,共43页。 13 8523 1837如何(rh)查找元素 9 ?99 9查询+插入(ch r)操作:查找不成功,执行(zhxng)插入。第10页/共43页第十一页,共43页。同一序列,不同(b tn)二叉排序树的查找性能差别很大。例, 45 , 24 , 53 , 1
6、2 , 37 , 93 452453123793122437455393O(n)O( log n +1 )第11页/共43页第十二页,共43页。为了实现(shxin)二叉排序树的平均查找长度和 log n 等数量级,需要对二叉排序树进行“平衡化”处理,即构造平衡二叉树。9.2.2 平衡(pnghng)二叉树AVL树AdelsonVelskiiLandis平衡(pnghng)二叉树或者是一棵空树,或者是具有下列性质的二叉树:其左子树和右子树的深度之差的绝对值不超过 1 ;其左子树和右子树都是平衡二叉树 ;平衡二叉树首先是一棵二叉排序树 ;第12页/共43页第十三页,共43页。例,ABCDABCD
7、EFGABCDEFABCDFGE第13页/共43页第十四页,共43页。结点的平衡(pnghng)因子: 该结点的左子树的深度减去右子树的深度。由于平衡二叉树要求左右子树深度之差的绝对值不大于 1 ,故结点(ji din)的平衡因子只可能为 -1 、0 、1 。4524531293例,0100-1可以(ky)证明平衡二叉树的深度与 log n 同数量级。第14页/共43页第十五页,共43页。如何在二叉排序树的构造过程中实现平衡(pnghng)化从而得到平衡(pnghng)二叉树?例,序列(xli) 13 24 37 90 53 13024-1037-2-10左旋,以失去平衡结点的儿子(r zi)
8、结点为基准。37241300090-10-1053-20-210先右旋,以失去平衡结点的儿子结点为基准。再左旋,以失去平衡结点的儿子结点为基准。53905390370-1000平衡!第15页/共43页第十六页,共43页。平衡(pnghng)二叉树调整规则:RR型: 新结点(ji din)加入到右子树的右子树中。1调整规则: 左旋,以失去平衡的结点的儿子(r zi)结点为基准,整棵子树向左下方旋转。ABBLBRAL-10-2-1BAALBLBR00第16页/共43页第十七页,共43页。LL型: 新结点(ji din)加入到左子树的左子树中。11021调整规则: 右旋,以失去平衡的结点(ji di
9、n)的儿子结点(ji din)为基准,整棵子树向右下方旋转。ABBLBRARBABRARBL00第17页/共43页第十八页,共43页。RL型: 新结点(ji din)加入到右子树的左子树中。1调整(tiozhng)规则:ABBRALCCLCR-100-211先右旋,以失去平衡的结点的儿子结点为基准(jzhn),构造成RR型。后左旋。ACCLALBCRBR-2-1-1CBCLALACRBR0-10第18页/共43页第十九页,共43页。LR型: 新结点(ji din)加入到左子树的右子树中。1调整(tiozhng)规则:ABBLARCCLCR先左旋(zu xun),以失去平衡的结点的儿子结点为基准
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课件 第九 学习 教案
限制150内