二叉排序树的实现_课程设计报告_第1页
二叉排序树的实现_课程设计报告_第2页
二叉排序树的实现_课程设计报告_第3页
二叉排序树的实现_课程设计报告_第4页
二叉排序树的实现_课程设计报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、中朝大学数据结构课程设计指南学生名称:程亚南学号:1021011616学院:软件学院专业:软件工程标题:实现二进制排序树导师他是智英2011年十二月二十日1.设计工作概述:不!无节点x二进制排序树t是否为平衡二叉树如果存在带有x的节点,则将删除该节点,并按中间顺序遍历找到节点x输入元素x以查找二进制排序树t好吧!以中间顺序遍历二进制排序树t并输出结果存储结构和存储结构的顺序表的二进制链表输入列l,以回车符(“ n”)为输入结束标记生成二进制排序树t。功能说明:(1)输入回车符(n)作为输入结束标记符,输入序列L以生成二进制排序树T。(2)按中间顺序遍历二进制排序树t并输出结果。(3)输入元素X

2、以查找二进制排序树T,如果存在带有X的节点,则删除该节点,然后按中间顺序遍历(执行任务2)。否则,输出信息为“无x”。牙齿设计中使用的数据结构二叉树和二进制链表功能模块详细设计3.1详细的设计理念使用“插入边祖怀边”设置二进制排序树。“查找函数”递归查找。如果找到相同的,则插入左侧子树。然后使用“插入函数”将元素插入到原始树中。在二叉树中间顺序遍历中使用递归函数方法。如果根节点不是空的,则首先访问左侧子树、根节点和右侧子树。使用“删除节点函数”、“查找边”“删除边”方法。如果找不到,则显示提示。找到节点后,它将传送左侧子树最右侧节点的数据,然后删除左侧子树最右侧的节点。3.2核心代码(1)主菜

3、单模块Int main()LNode root=NULLInt Num、a、x;printf( n n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * nPrintf( *主菜单* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Printf( *1:进行中排序* n );Printf( *2:删除作业* n );Printf( *3:结束* n );printf( * * * * * * * * * * * * * * * * * * * * * *

4、* * * * * * * * * * * * * * * n Printf(请输入要操作的数字,以0结束。 n );运行结果(3)中间顺序遍历模块Void view(节点p) /中间遍历函数If(p)视图(p-lch);printf(“% d”,p-date);视图(p-rch);/递归调用ReturnReturn运行结果(3)删除模块LNode DelNode(LNode t,int x)节点p=t;LNode q=NULL节点s;节点f;While(p)!=NULL)If(p-date=x)布列克;q=p;If(x=p-date)p=p-lch;Elsep=p-rch;If(p=NULL

5、)Printf(无法删除“%d”牙齿,x);return p;If(p-lch)s=p-lch;/s指向左侧的子树。f=p-lch;/f指向左侧的子树。While(s- rch)/搜索左侧子树的最右侧叶节点f=s;s=s-rch;p-date=s-date;If(f)!=s)/p如果不是左边的孩子,则将r的左边的孩子作为r的父亲右边的孩子f-rch=s-lch;Else p-lch=s-lch;/否则,节点p的左侧子树将指向s的左侧子树free(s);return p;ElseIf(q-lch=p)q-lch=p-rch;Elseq-rch=p-rch;自由(p);return q;3.3节目运行结果课程设计经验,现有问题和解决方案通过这次课程设计,我更了解了二次链表的构建方法,更好地了解了二次排序树的构造方法。对函数结构和调用有更多的掌握,在调试器中有了一定的

温馨提示

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

评论

0/150

提交评论