- 14
- 1
- 约2.84万字
- 约 32页
- 2019-03-23 发布于湖北
- 举报
实验四 平衡二叉树演示班级:计算机1405 组别:4 姓名:刘诚阳 学号题定义及需求分析1.1课题目的和任务问题描述:利用平衡二叉树设计动态查找表。实验要求:设计平衡二叉树的动态演示的模拟程序。1)采用平衡二叉树存储结构。2)完成平衡二叉树的创建、查找、插入和删除的演示操作。3)可以考虑两棵平衡二叉树的合并。1.2数据形式输入数据形式:通过键盘输入数据输入值的范围:树中元素的值为float型,范围为1.2e-38至3.4e+38;树的名称为char类型数据,可以输入字母,数字和符号,但是长度必须在20位以内;对菜单进行操作时,输入数据长度必须在200以内,且有效的输入数据为0至7,其中0为退出程序,1至7为对应菜单的操作选项。输出数据形式:输出到显示器。1.3程序功能创建平衡二叉树存储结构,通过平衡因子,使二叉排序树达到平衡,提供平衡二叉树的创建、查找和删除,树中元素的查找、插入和删除等基本功能,可以实现创建多棵平衡二叉树,并且能够进行两棵树的合并。通过平衡二叉树,能够使树时刻保持平衡,从而提高在树中遍历数据的速度,具有重要意义。1.4测试数据1 //创建平衡二叉树2 //输入创建树的个数t1 //输入第一个树的名称5 //输入第一个树中元素的个数5 2 6 8 9 //依次输入各个元素t2 //输入第二个树的名称5 //输入第二个树中元素的个数3 1 4 10 7 //依次输入各个元素5 //层次遍历输出第一个树的结构图t1 //操作树名5 //层次遍历输出第二个树的结构图t2 //操作树名3 //插入元素操作t1 //操作树名1 //插入元素个数7 //依次插入元素5 //层次遍历输出树的结构图t1 //操作树名4 //删除元素操作t2 //操作树名1 //删除元素个数7 //依次删除元素5 //层次遍历输出树的结构图t2 //操作树名6 //合并两个树操作t1 t2 //操作树名5 //层次遍历输出树的结构图t1 //操作树名2 //查询元素操作t1 //操作树名5 //需要查询的元素(该元素树中存在)2 //查询元素操作t1 //操作树名11 //需要查询的元素(该元素树中不存在)7 //删除二叉平衡树操作t1 //操作树名2 //查询操作t1 //操作树名(会提示该树不存在,说明删除树成功)0 //退出程序概要设计2.1抽象数据类型需要定义一个树的结构类型,其中包含数据类型,它的左右孩子指针,以及平衡因子,平衡因子的取值为-1,0,1三种,分别对应树的右边高(RH),平衡(EH)和左边高(LH)三种情形,通过平衡因子的判别,来调整树的高度使其达到平衡;另外需要用到双向链表的数据结构,以及队列的数据结构。2.2主程序流程及各模块之间的调用关系详细设计3.1存储结构实现typedef struct Type{//数据类型结构 float num;}Type;/*平衡树结构声明*/typedef struct AVLTree{//二叉平衡树结构体声明 int bf;//结点的平衡因子 struct Type data;//结点数据 struct AVLTree* lchild,* rchild;//左右孩子}AVLTree,*AVL;/*队列结构声明*/typedef struct QNode{//队列 AVL tree; struct QNode* next;}QNode,*Q
您可能关注的文档
最近下载
- DB37_T 4811.3-2025 工业互联网标识解析 仪器仪表 第3部分:应用服务平台数据元规范.docx VIP
- 数据备份管理制度(3篇).docx VIP
- 洗胃技术操作要点及考核评分标准.pdf VIP
- 高清:2024年河南省高考对口升学汽车类专业课试题卷及参考答案.docx VIP
- DB37_T 4819-2025 燃料电池用氢气全过程信息追溯技术规范.docx VIP
- 中华人民共和国危险化学品安全法.pptx VIP
- 马克思励志名言马克思经典名言【精选80句】.doc VIP
- 基于PLC的备用电源自动投入装置控制系统的设计.pdf VIP
- 老年人能力评估师(高级)教学大纲和培训计划.docx VIP
- 市政学自考资料.pdf VIP
原创力文档

文档评论(0)