- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
①二叉排序树 插入算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 根据动态查找表的定义,“插入”操作 在查找不成功时才进行; 若二叉排序树为空树,则新插入的结点为新 的根结点;否则,新插入的结点必为一个新 的叶子结点,其插入位置由查找过程得到。 48 30 10 35 23 40 20 25 ①二叉排序树 插入算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 设 key = 30 30 48 ①二叉排序树 插入算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 void InsertBST(BSTree *bst, KeyType key) { BiTree s; if (*bst==NULL) { s=(BSTree)malloc(sizeof(BSTNode)); s- key=key; s-lchild=NULL; s-rchild=NULL; *bst=s; } else if (key (*bst)-key) InsertBST(((*bst)-lchild), key); else if (key (*bst)-key) InsertBST(((*bst)-rchild), key); } ①二叉排序树 生成算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 例如:设关键字输入顺序为: 45,24,53,12,28,90 28 12 53 24 45 90 24,45,53,90,12,28 28 90 45 12 24 53 所以,二叉排序树的形态完全由一个输入序 列决定,一个无序序列可以通过构造一棵二 叉排序树而得到一个有序序列。 void CreateBST(BSTree *bst) { KeyType key; *bst=NULL; scanf(%d, key); while (key!=ENDKEY) { InsertBST(bst, key); scanf(%d, key); } } ①二叉排序树 生成算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 48 30 10 35 23 40 20 25 二叉排序树特点: 1.中序遍历二叉排序树可得到关键字有序序列。 2.在构造二叉排序树时,每次插入的新结点都是新 的叶子结点,则进行插入时,不必移动其它结点。 3.二叉排序树不但拥有类似于折半查找的特性,又采 用了链表作存储结构,因此是动态查找表的一种适宜 表示。 中序遍历: 10,20,23,25,30,35,40,48 第 8 章 查找 数 据 结 构 8.3 基于树的查找 ①二叉排序树 删除算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 和插入相反,删除在查找成功之后进行,并且要求 在删除二叉排序树上某个结点之后,仍然保持二叉 排序树的特性。 可分三种情况讨论: (1)被删除的结点是叶子; (2)被删除的结点只有左子树或者只有右子树; (3)被删除的结点既有左子树,也有右子树。 ①二叉排序树 删除算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 50 80 20 90 40 35 88 32 85 30 (1)被删除的结点是叶子结点 例如: 被删关键字 = 20 88 其双亲结点中相应指针域的值改为“空” ①二叉排序树 删除算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 50 80 20 90 40 35 88 32 85 30 (2)被删除的结点只有左子树或只有右子树 例如: 被删关键字 = 40 80 其双亲结点的相应指针域的值改为 “指向被删除结点的左子树或右子树”。 ①二叉排序树 删除算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 50 80 20 90 40 35 88 32 85 30 (3)被删除的结点既有左子树也有右子树 例如: 被删关键字 = 50 以其前驱或后继替代之,然后再删除该前驱或后继结点 40 ①二叉排序树 删除算法 第 8 章 查找 数 据 结 构 8.3 基于树的查找 BSTNode * DelBST(BSTree t, KeyType k) { BSTNode *p, *f,*s ,*q; p=t; f=NULL
您可能关注的文档
最近下载
- 小区挡土墙监测的方案.doc
- 组织安全绩效提升与重大事故预防HOP.pdf VIP
- 2021版35kV~750kV 变电站通用设备技术规范第13部分:接地变压器及消弧线圈成套装置.pdf VIP
- 心脏横纹肌瘤的科普知识课件.pptx VIP
- 2021版35kV~750kV 变电站通用设备技术要求及接口规范第2部分:高压并联电抗器.pdf VIP
- 新概念英语二册Mp3教程附音频下载-英语听力_0.pdf VIP
- 2021版35kV~750kV 变电站通用设备技术规范第9部分:低压并联电抗器.pdf VIP
- 2021版35kV~750kV 变电站通用设备技术规范第第12部分:站用变压器.pdf VIP
- 初一有理数计算700题.docx VIP
- 市政供热管网施工技术的方案.doc
文档评论(0)