数据结构二叉树遍历实验报告记录2————————————————————————————————作者:————————————————————————————————日期:3数据结构之二叉树实验报告题目:二叉树的遍历和子树交换指导老师:杨政宇班级:通信1202姓名:徐江学号:09091211274需求分析1
演示程序分别用多种遍历算法遍历二叉树并把数据输出
输入字符序列,递归方式建立二叉树
在演示过程序中,用户敲击键盘,输入数据,即可看到数据的输出
实现链式存储的二叉树的多种遍历算法
遍历算法包括:a)中序递归遍历算法、前序递归遍历算法【选】b)中序遍历非递归算法c)先序或后序遍历非递归算法d)建立中序线索,并进行中序遍历和反中序遍历5
实现二叉树的按层遍历算法6
设计一个测试用的二叉树并创建对应的内存二叉树,能够测试自己算法的边界(包括树节点数为0、1以及>1的不同情形)
测试数据:输入数据:-+a*b-cd-ef概要设计说明:本程序在递归调用中用到了链表,在非递归调用时用到了栈
栈的抽象数据类型ADTStack{数据对象:D={ai|ai∈char,i=1,2,3⋯⋯
}数据关系:R={|ai-1,ai∈D,i=2,3⋯
}基本操作:InitStack(&S)操作结果:构造一个空栈StackEmpty(S)初始条件:栈S已存在
操作结果:若S为空栈,则返回OK,否则返回ERROR
Push(&S,e)初始条件:栈S已存在
操作结果:插入元素e为新的栈顶元素
Pop(&S,&e)初始条件:栈S已存在且非空
操作结果:删除S的栈顶元素,并用e返回其值
GetTop(S,&e)初始条件:栈S已存在且非空
操作结果:用e返回S的栈顶元素
二叉树的抽象数据类型ADTBinaryTree{数据对象D:D是具有相同特性的数据元素的集合
数据关系R:若D