注:代码直接从实验报告上复制的,可能格式啥的有错误。
一、实验目的
(1) 掌握用 C 语言调试程序的基本方法。
(2) 掌握二叉树的基本定义及其存储实现。
(3) 掌握二叉树的基本操作,如二叉树的建立、遍历、结点个数统计、树的深度计算等。
二、实验环境
Windows 10,Microsoft Visual C++ 2010 Express
三、实验内容
1、内容描述
用递归的方法实现以下二叉树算法:
(1) 以二叉链表表示二叉树,建立一棵二叉树(先序);
(2) 输出二叉树的中序遍历结果;
(3) 输出二叉树的前序遍历结果;
(4) 输出二叉树的后序遍历结果;
(5) 计算二叉树的深度;
(6) 统计二叉树的叶子结点个数。
2、实现代码

#include<stdio.h>
typedef struct BiTNode{char data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;//先序建立一棵二叉树
void createBiTree(BiTree &T){char str;scanf("%c",&str);if(str=='#')T=NULL;else{T=new BiTNode;T->data=str;createBiTree(T->lchild);createBiTree(T->rchild);}
}//中序遍历
void inorder(BiTree T){ if(T!=NULL){ inorder(T->lchild);  //递归遍历左子树printf("%c",T->data);//访问根结点inorder(T->rchild);  //递归遍历右子树}
}//前序遍历
void preorder(BiTree T){ if(T!=NULL){ printf("%c",T->data);//访问根结点preorder(T->lchild); //递归遍历左子树preorder(T->rchild); //递归遍历右子树}
}//后序遍历
void postorder(BiTree T){ if(T!=NULL){ postorder(T->lchild); //递归遍历左子树postorder(T->rchild); //递归遍历右子树printf("%c",T->data); //访问根结点}
}//二叉树深度
int height(BiTree T){int m,n;if(T==NULL)return 0;else{m=height(T->lchild);n=height(T->rchild);return m>n?m+1:n+1;}
}//叶子结点的个数
int leafnode(BiTree T){if(T==NULL)return 0;else if(T->lchild==NULL&&T->rchild==NULL)return 1;elsereturn leafnode(T->lchild)+leafnode(T->rchild);
}void main(){BiTree T;printf("输入字符顺序:");createBiTree(T);printf("(1)中序遍历的结果为:");inorder(T);printf("\n");printf("(2)前序遍历的结果为:");preorder(T);printf("\n");printf("(3)后序遍历的结果为:");postorder(T);printf("\n");printf("(4)二叉树深度为:%d\n",height(T));printf("(5)叶子结点个数为:%d\n",leafnode(T));
}

三、运行结果

《数据结构》实验报告(四)——二叉树的遍历及相关应用相关推荐

  1. 数据结构实验报告,二叉树的基本操作(C语言)

    数据结构实验报告,二叉树的基本操作(C语言) 作者:命运之光 专栏:数据结构 目录 数据结构实验报告,二叉树的基本操作(C语言) 实验六 二叉树的基本操作 一.需求分析 二.概要设计 三.详细设计 四 ...

  2. 图的遍历c语言数据结构实验报告,数据结构图的遍历实验报告.doc

    数据结构图的遍历实验报告.doc 实 验 报 告课程名称 数据结构实验名称 图的遍历姓 名专 业 计算机科学与技术班 级 计算机学 号成绩计算机科学与技术学院实验教学中心2015 年 11 月 20 ...

  3. 数据结构实验报告三 二叉树

    一.实验目的 1.掌握二叉树的基本特性 2.掌握二叉树的先序.中序.后序的递归遍历算法 3.理解二叉树的先序.中序.后序的非递归遍历算法 4.通过求二叉树的深度.叶子结点数和层序遍历等算法,理解二叉树 ...

  4. 数据结构实验报告四 图的表示与遍历

    一.实验目的 1.掌握图的邻接矩阵和邻接表表示 2.掌握图的深度优先和广度优先搜索方法 3.理解图的应用方法 二.实验内容和要求 1.阅读并运行下面程序,根据输入写出运行结果. #include< ...

  5. 图的遍历c语言数据结构实验报告,数据结构实验报告--图的遍历

    江 西 理 工 大 学 数据结构 实验报告 实验名称 图的遍历 日期 2014-12-01 专业班级 计算机(中加)131班 地点 信息学院621 实验人 王鹏伟 学号 同组人 单独完成 152013 ...

  6. sdut 2137 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descr ...

  7. 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Description 已知一棵二叉树的前序遍历和中序遍历,求二叉树的后序遍历和层序遍历. Input 输入数据有多组,第一行是一个整数t (t<100 ...

  8. 北京理工大学计算机实验四报告表,北京理工大学数据结构实验报告实验四

    北京理工大学数据结构实验报告实验四 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 <数据结构与算法设计>实验报告--实 ...

  9. C语言南邮数据结构实验报告2,南邮数据结构实验报告.docx

    南邮数据结构实验报告 实验报告 课程名称 实验名称数据结构二叉树基本操作以及哈夫曼编码译码系统 实验时间 指导单位指导教师年月日 学生姓名 学院(系) 班级学号专业 二叉树的基本运算: 一.问题描述 ...

  10. 数据结构实验报告(六)

    数据结构实验报告(六) 一.实验名称 实验六  图的实验1--图的邻接矩阵存储实现 二. 实验目的 1.  熟练理解图的相关概念: 2.  掌握图的邻接矩阵的存储方法的实现: 3.  学会图的遍历算法 ...

最新文章

  1. vue实现文件上传功能
  2. 网站建设设计的基本事项需了解!
  3. 函数组:SPO1/2/3/4/5/6/8
  4. uva 524(Prime Ring Problem UVA - 524 )
  5. 分布式数据库数据一致性的原理、与技术实现方案
  6. 计算机计划300字作文,我的计划作文300字
  7. jsp springmvc 视图解析器_springMVC配置jsp/html视图解析器
  8. 使用 Web Workers
  9. fatal: could not read Username for 'https://github.com': No such file or directory
  10. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上书店管理系统
  11. 启航~算法刷题第一天
  12. oracle 审计变换表空间_Oracle 审计表AUD$迁移表空间及创建清理job
  13. 用户环境变量_linux 初级3 环境变量命令env、set、export、declare的区别
  14. Unix环境高级编程—进程控制(三)
  15. 程序员吐槽_程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了!...
  16. uniapp获取当前的地理位置
  17. 抖音运营 | 10万赞的短视频如何打造?
  18. 中国微信生态行业投资价值分析及发展趋势预测报告
  19. 笔记:宾大《Algebra, Topology, Differential Calculus, and Optimization Theory For CS and ML》——第三章第九节
  20. 加州大学伯克利分校计算机科学专业,加州大学伯克利分校之计算机科学系

热门文章

  1. vue项目中导入icon字体文件出现This relative module was not found:* ./iconfont.eot?t=1523541245904
  2. 实验记录 | 6/2 somatic.pl
  3. 计算机类期刊投稿转载
  4. 程序员用搞笑个性签名
  5. 2011年英语1Text2生词
  6. matlab 模态叠加法,基础激励下基于模态叠加法谐响应分析.doc
  7. c语言中英文翻译 毕业设计,c语言中英文翻译资料 本科毕业论文.doc
  8. 极品飞车9计算机中丢失,极品飞车9缺少d3dx9 极品飞车9丢失d3dx926.dll解决方法
  9. LPC5411x_FreeRTOS学习笔记
  10. 金山游戏原五虎将今何在?