数据结构之二叉树实 验 报 告 题目:二叉树得遍历与子树交换 指导老师:杨政宇 班级:通信1 2 02 姓名:徐江 学号:0 9091 2 1 127需求分析1.演示程序分别用多种遍历算法遍历二叉树并把数据输出.2.输入字符序列,递归方式建立二叉树.3、在演示过程序中,用户敲击键盘,输入数据,即可瞧到数据得输出.4、实现链式存储得二叉树得多种遍历算法。遍历算法包括:a)中序递归遍历算法、前序递归遍历算法【选】b)中序遍历非递归算法c)先序或后序遍历非递归算法d)建立中序线索,并进行中序遍历与反中序遍历5、实现二叉树得按层遍历算法6、设计一个测试用得二叉树并创建对应得内存二叉树,能够测试自己算法得边界(包括树节点数为0、1以及>1 得不同情形)。7、测试数据:输入数据:-+a *b —c d -e f 概要设计说明:本程序在递归调用中用到了链表,在非递归调用时用到了栈。1.栈得抽象数据类型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{ 数据对象 D:D 就是具有相同特性得数据元素得集合。 ﻫﻩ数 据 关 系R: ﻩﻩ若 D=Φ,则 R=Φ,称 Bin a r yT r e e 为空二叉树; ﻫﻩﻩ若 D≠Φ,则R={H},H 就是如下二元关系; (1)在 D 中存在惟一得称为根得数据元素ro ot,它在关系 H 下无前驱; (2)若D-{r oot}≠Φ,则存在D—{r oo t}={D 1,D r},且D1∩Dr =Φ; ﻩﻩ(3)若 D1≠Φ,则D 1 中存在惟一得元素x1,〈ro ot,x 1〉∈H,且存在D 1 上得ﻩﻩ 关系H 1 H⊆ ;若 D r≠Φ,则 Dr 中存在惟一得元素x r,<r oot,xr〉∈H,且ﻩﻩ 存在上得关系 Hr ⊆H...