- 0
- 0
- 约3.51千字
- 约 5页
- 2016-08-01 发布于重庆
- 举报
11班28号王咪咪-第3次数据结构实验
数据结构实验报告
实验名称: 实验四——题目一(用二叉链表实现二叉树)
学生姓名:
班 级:
班内序号:
学 号:
日 期: 2012年12月3日
1.实验要求
实验目的:掌握用二叉链表实现二叉树的方法;掌握二叉树的四种遍历方式;熟练运用递归来解决问题。
实验内容:根据二叉树的抽象数据类型的定义,使用二叉链表实现一个二叉树。
二叉树的基本功能:
1、二叉树的建立
2、前序遍历二叉树
3、中序遍历二叉树
4、后序遍历二叉树
5、按层序遍历二叉树
6、求二叉树的深度
7、求指定结点到根的路径
8、二叉树的销毁
9、其他:自定义操作
编写测试main()函数测试线性表的正确性
程序分析
2.1 存储结构
存储结果为二叉链表。示意图如图所示。
2.2 关键算法分析
1、关键算法
(1)void Create(BiNodeT* R,T data[],int i) //创建二叉链表
利用二叉树的顺序存储结构来建立二叉链表。根据顺序存储结构和二叉树的性质可知,如果要建立结点位置为i的当前结点,则左孩子的位置为2i,右孩子的位置为2i+1,所以创建二叉树以存储结构为输入,采用先建立根结点,再建立左右孩子的方法递归建立二叉链表的二叉树。
void PreOrder(BiNodeT* R) //前序遍历
原创力文档

文档评论(0)