二叉树链式存储结构-第六章实验报告

上传人:公**** 文档编号:493977534 上传时间:2023-04-08 格式:DOCX 页数:4 大小:26.42KB
返回 下载 相关 举报
二叉树链式存储结构-第六章实验报告_第1页
第1页 / 共4页
二叉树链式存储结构-第六章实验报告_第2页
第2页 / 共4页
二叉树链式存储结构-第六章实验报告_第3页
第3页 / 共4页
二叉树链式存储结构-第六章实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《二叉树链式存储结构-第六章实验报告》由会员分享,可在线阅读,更多相关《二叉树链式存储结构-第六章实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、实验名称 :二叉树链式存储结构实验类型: 验证性实验班级:20102111学号:2010211102姓名:实验日期: 2012.5.271. 问题描述二叉链表的 C 语言描述;基本运算的算法 建立二叉链表、 先序遍历二叉树、 中序遍历二叉树、 后序遍历二叉树、后序遍历求二叉树深度。2. 数据结构设计typedef struct Bitnode char data;struct Bitnode *lchild,*rchild;Bitnode,*Bitree;3. 算法设计建立二叉链表: void createBitree(Bitree &T)char ch;if(ch=getchar()=#)

2、T=NULL;elseT=(Bitnode*)malloc(sizeof(Bitnode);T-data=ch;createBitree(T-lchild);createBitree(T-rchild);先序遍历二叉树: void preorder(Bitree &T) if(T!=NULL)printf(%c,T-data);preorder(T-lchild);preorder(T-rchild);中序遍历二叉树:void inorder(Bitree &T) if(T!=NULL) inorder(T-lchild);printf(%c”,T-data);inorder(T-rchild

3、);后序遍历二叉树:void postorder(Bitree &T)if(T!=NULL)postorder(T-lchild);postorder(T-rchild);printf(%c”,T-data);/后序遍历后序遍历求二叉树深度:int Depth(Bitree &T)/返回深度int d,dl,dr;if(!T) d=0;else dl=Depth(T-lchild);dr=Depth(T-rchild);d=1+(dldr?dl:dr); return d;4. 运行、测试与分析运行程序,显示菜单,(1)如图 1.1:一玲历历历ctt结二遍遍遍遍ab的十乂S*警,树一寨中WKr

4、二辘度皿 深ctt: 求黑图1.1(2)结果图1.2:前入树的结点=因序为工LabcdegF 比序谩历为; cbesrdf a 后序为、一告 4 ewef (Wa后序求深度:5 信接任意键继球.图1.25. 实验收获及思考在实验过程中学会了调试程序,对于二叉树的相关知识有了不同的认识,不仅仅是抽象上的了。更重要的是懂得了自己写程序的重要性,慢慢养成习惯。6. 源代码#include#includetypedef struct Bitnode char data;struct Bitnode *lchild,*rchild;Bitnode,*Bitree;/ 建立二叉树void createBi

5、tree(Bitree &T)char ch;if(ch=getchar()=#) T=NULL;elseT=(Bitnode*)malloc(sizeof(Bitnode);T-data=ch;createBitree(T-lchild);createBitree(T-rchild);/ 先序遍历输出结点void preorder(Bitree &T)if(T!=NULL)printf(%c,T-data);preorder(T-lchild);preorder(T-rchild);void inorder(Bitree &T)if(T!=NULL) inorder(T-lchild);pr

6、intf(%c,T-data);inorder(T-rchild);/ 中序遍历void postorder(Bitree &T)if(T!=NULL)postorder(T-lchild);postorder(T-rchild);printf(%c,T-data);/ 后序遍历/ 后序遍历求深度int Depth(Bitree &T)/ 返回深度int d,dl,dr;if(!T) d=0;else dl=Depth(T-lchild);dr=Depth(T-rchild);d=1+(dldr?dl:dr) ;return d;int main()printf(I*二叉树链表存储 *);printf(n1. 建立二叉链表n2. 先序遍历 n3. 中序遍历 n4. 后续遍历 n5. 后序遍历求深度n);printf( 例子: abc#de#g#f#n);Bitree T;printf( 输入树的结点 :n);createBitree(T);printf( 先序为: n);preorder(T);printf(n 中序遍历为: n);inorder(T) ;printf(n 后序为: n);postorder( T);printf( 后序求深度: %dn,Depth(T);system(pause);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号