- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沈阳航空航天大学课程设计报告
PAGE \* MERGEFORMAT- 31 -
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc408567983 1 需求分析 PAGEREF _Toc408567983 \h - 1 -
HYPERLINK \l _Toc408567984 2 系统设计 PAGEREF _Toc408567984 \h - 2 -
HYPERLINK \l _Toc408567985 2.1 数据结构设计 PAGEREF _Toc408567985 \h - 2 -
HYPERLINK \l _Toc408567986 2.2 函数设计 PAGEREF _Toc408567986 \h - 2 -
HYPERLINK \l _Toc408567987 2.3 关键流程 PAGEREF _Toc408567987 \h - 3 -
HYPERLINK \l _Toc408567988 2.3.1 系统主流程 PAGEREF _Toc408567988 \h - 3 -
HYPERLINK \l _Toc408567989 2.3.2 查找函数流程 PAGEREF _Toc408567989 \h - 4 -
HYPERLINK \l _Toc408567990 2.3.3 插入函数流程 PAGEREF _Toc408567990 \h - 4 -
HYPERLINK \l _Toc408567991 3 调试分析 PAGEREF _Toc408567991 \h - 8 -
HYPERLINK \l _Toc408567992 4 测试及运行结果 PAGEREF _Toc408567992 \h - 9 -
HYPERLINK \l _Toc408567993 参考文献 PAGEREF _Toc408567993 \h - 10 -
HYPERLINK \l _Toc408567994 附 录 PAGEREF _Toc408567994 \h - 11 -
沈阳航空航天大学课程设计报告 KEYWORDS \* MERGEFORMAT
1 需求分析
2-3树不是一种二叉树,但他的形状满足以下性质:(1)一个节点包含一个或两个键值(2)每个内部节点有两个子节点(如果它有一个键值)或三个子节点(如果它有两个键值)(3)所有叶节点都在树结构的同一层,因此树的高度总是平衡的。
对于每个结点, 左子树中所有后继结点的值都小于第一个键的值, 而其中间子树中所有结点的值都大于或等于第一个键的值。如果结点有右子树的话( 相应地, 结点存储两个键值) , 那么其中间子树中所有后继结点的值都小于第二个键的值, 而其右子树中所有后继结点的值都大于或等于第二个键的值。同时,同一层的键值从左到右增大。
2-3树的查找方法与二分查找树相似,从根节点出发,如果在根节点找到查找值则查找成功返回,否则根据节点键的规则递归地查找下去,直到找到或返回失败。
在2-3树中插入新值时并不为其开辟一个新的叶子节点来存储,也就是说,2-3树不是向下生长的。插入算法首先找到一个合适的叶子节点来存放该值,使树的性质不被破坏。如果该叶子节点只包含一个值(每个节点都最多有两个值),则简单将该值放入叶子节点即可。如果叶子结点本身已经包含两个值了,则需要为前加入的叶子开辟新的空间。设节点L为插入节点,但是已经满了,也就是,这个节点因为包含了三个值,所以必须进行分裂,设新分裂出来的节点为L’,则L将存储这三个值中最小的那个值,而L’则存储这三个值中最大的那个。处于中间的值将得到提升,作为插入值晋升到父节点去。如果父节点只包含一个键值,该值直接放入节点即可,否则,同样的“分裂-晋升”过程将在该父节点进行,一直递归到根节点为止。2-3的插入实现中利用了一个函数split,它接收被插入节点的指针和插入的数据,并将指向L指针和被往上传的值通过引用传回来。当插入结点已满时便启用这个函数。
从2-3树删除一个节点,有三种可能情况需要考虑:最简单的情况是,如果删除的值存储在有两个键值的节点上,直接删除该值并不影响树的性质与结构。如果被删除的值所在的节点只有它一个键值,被删除后该节点将为空,因此通过向兄弟节点借一个记录,并修改父节点来解决。如果兄弟节点不够借,则需要合并相邻节点,并影
您可能关注的文档
- 数据结构(殷人昆)线性表课堂讲义技术总结.ppt
- 数据结构002-线性表技术总结.pptx
- 软件托管服务解决方案题库.ppt
- 外文翻译生物分子题库.docx
- 数据结构2-2线性表的顺序表示和实现技术总结.ppt
- 通道混合器原理终极教程技术总结.doc
- 数据结构2-3线性表的链式表示和实现技术总结.ppt
- 数据结构2技术总结.ppt
- 通风发酵-高职高专技术总结.ppt
- 数据结构7-线性表的链式表示与实现技术总结.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)