数据结构之二叉树实 验 报 告 题目:二叉树得遍历与子树交换 指导老师:杨政宇 班级:通信1 2 02 姓名:徐江 学号:0 9091 2 1 127需求分析1
演示程序分别用多种遍历算法遍历二叉树并把数据输出
输入字符序列,递归方式建立二叉树
3、在演示过程序中,用户敲击键盘,输入数据,即可瞧到数据得输出
4、实现链式存储得二叉树得多种遍历算法
遍历算法包括:a)中序递归遍历算法、前序递归遍历算法【选】b)中序遍历非递归算法c)先序或后序遍历非递归算法d)建立中序线索,并进行中序遍历与反中序遍历5、实现二叉树得按层遍历算法6、设计一个测试用得二叉树并创建对应得内存二叉树,能够测试自己算法得边界(包括树节点数为0、1以及>1 得不同情形)
7、测试数据:输入数据:-+a *b —c d -e f 概要设计说明:本程序在递归调用中用到了链表,在非递归调用时用到了栈
栈得抽象数据类型ADT S t ack{数据对象:D={a i|ai∈cha r,i=1,2,3……、、}数据关系:R={〈 a i -1,ai >| ai -1,ai ∈D,i=2,3…、、}基本操作:InitSt ac k(&S) 操作结果:构造一个空栈S t ack E m p t y( S ) ﻩ初始条件:栈 S 已存在
操作结果:若 S 为空栈,则返回O K,否则返回 ERROR
Pu s h( &S, e )ﻫ 初始条件:栈 S 已存在
操作结果:插入元素 e 为新得栈顶元素
Pop( &S, &e ) ﻩ初始条件:栈 S 已存在且非空
ﻫﻩ操作结果:删除 S 得栈顶元素,并用 e 返回其值
GetT op( S, &e ) ﻫ ﻩ初始条件:栈 S 已存在且非空
ﻩ操作结果:用 e 返回 S 得栈顶元素
}2、二叉树得抽象数据类型A DT Bi n ary Tr ee{ 数据对象