下载此文档

树的实验报告.docx


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
该【树的实验报告 】是由【森林书屋】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【树的实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。个人收集整理 仅供参考学****br/>树实验报告
一、需求分析
1、输出要求:1)用键盘输入相应的值(0~10);用键盘输入二叉树结点的编号和对应的值,其值类型为字符型。2)在main函数中会
输出一个主菜单,根据菜单提示内容输入相应的值, 并输出相应功能
的结果。
2、程序所达到的功能:1)按字符序列建立二叉链表。 2)按先序、
中序,后序和层次遍历二叉树(递归算法) 。3)按某种形式输出整棵
二叉树。4)求二叉树的高度。5)求二叉树中叶节点的个数。 6)交换
二叉树的左右子树。
3、测试数据:1)首先输入1,然后再输入二叉树的编号和对应的
值:(1,a)(2,b)(3,c)从而建立一个完整的二叉树。
2)根据菜单提示依输入 3,4,5,6四种遍历该二叉树。
3)输入7,8,9依次输出二叉树的高度、叶子结点数和交换二叉树
的左右子树。
4)输入10会输出逆时针旋转 90度的二叉树。
5)输入0程序结束。
二、概要设计
1、为了实现上述程序功能,需要定义二叉树结点的类型为字符型,
定义树结点二叉树。
个人收集整理 仅供参考学****br/>2、本程序包含了 13个函数:
主函数main()。2)建立二叉树BiTNode*create_bt()
四种方式对二叉树进行遍历preorder(),inorder(),
postorder(),levorder()(此函数调用函数enqueue()和函数
delqueue())。4)计算二叉树的高度

treedepth().

5)计算二叉树中叶
结点的个数和叶结点个数
左右子树 exchange().7)

leafcount(),painleaf().6)交换二叉树的逆时针旋转90度输出二叉树数形
prtbtree().

各函数的关系:
main()
BiTNode*create_bt()

leafcount()
preorder()
inorder()
postorder()
levorder()
enqueue() delqueue()

painleaf()
exchange()
treedepth()
prtbtree()
四、详细设计:
1)写出头文件、树结点结构。
2)main()函数的功能:用do-while 使主菜单循环输出,进入swith()
语句调用相应的函数。
我们学****了两种建立二叉树的方法在此我们利用二叉树的性质
借助一维数组V建立二叉树BiTNode*create_bt() 。
5)函数preorder() 用来先序遍历二叉树。
6)函数inorder() 用来中序遍历二叉树。
个人收集整理 仅供参考学****br/>7)函数postorder() 用来后序遍历二叉树.
8)函数levorder() 用来层次遍历二叉树,层次二叉树采用了队列的
方法,故需调用函数 enqueue()和函数 delqueue()。
9)函数leafcount() 用来二叉树叶结点数
10)函数painleaf() 用来输出叶结点
11)函数exchange()用来交换二叉树的左右子树。
12)函数treedepth() 用来计算二叉树的高度。
13)函数prtbtree() 用来逆时针旋转 90度输出二叉树数形.
流程图见附件纸张。五、调试分析
在写程序时出现了很多错误,如下:
1) [Error] C:\Documentsand

桌面

实验树
\:68:parseerrorbefore`else'
改正:在else前少写了一个}
2) [Error] C:\Documentsand 桌面 实验树
\:170:`rea'undeclared(firstuseinthisfunction)
改正:定义中为

rear此处应改为rear
3)[Error]C:\Documentsand\:174:invalidoperandstobinary+

桌面 实验树
改正:此处应为

=不是而不是

+
六、测试结果
1)键盘输入:

1
个人收集整理 仅供参考学****br/>请继续输入二叉树个结点的编号和对应的值: 1,a
请继续输入二叉树个结点的编号和对应的值: 2,b
请继续输入二叉树个结点的编号和对应的值: 3,c
请继续输入二叉树个结点的编号和对应的值: 0,#
2)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)3
先序遍历二叉树 a b c
3)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)4
中序遍历二叉树: b a c
4)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)5
后序遍历二叉树: b c a
5)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)6
层次遍历二叉树 a b c
6)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)7
二叉树的高度为:2
7)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)8
二叉树中叶结点的个数: 2
二叉树中叶结点: b c
8)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)9
交换二叉树的左右子树:
b
a
c
9)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)10
个人收集整理 仅供参考学****br/>逆时针旋转90度输出的二叉树:
c
a
b
10)请输入您的选择 (0,1,2,3,4,5,6,7,8,9,10)0
请按任意键继续...
七、总结
1、通过实验让我们学到了很多关于二叉树的知识 .1)二叉树链式存储
的类型定义、实现及各类基本运算方法。 2)二叉树的分析方法,解
决方法,从而提高实际编程能力及程序调试能力。
2,通过合作学****我们知道了团结的力量。我们通过分工合作一起完
成实验。虽然我们遇到了许多困难,但是我们通过讨论查资料,问老
师等多种方式将问题一一解决。最终调试出正确的程序并输出结果。
3、通过自己动手实验我们清楚的知道自己平时所犯的错误,在写程
序时会经常由于马虎敲错代码,通过改错误我们对自己所犯的错误更
加深刻,从而改正,以后少犯低级错误。

树的实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人森林书屋
  • 文件大小32 KB
  • 时间2022-12-07