下载此文档

数据结构课程设计之二叉树和树的遍历.doc


文档分类:IT计算机 | 页数:约45页 举报非法文档有奖
1/45
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/45 下载此文档
文档列表 文档介绍
##大学
数据结构课程设计报告
题目: 二叉树和树的遍历
院(系): 计算机工程学院
学生姓名:
班级: 学号:
起迄日期: 2011-6-21至2011-6-25
指导教师:
2010—2011年度第 2 学期
一、需求分析
:
进行二叉树和树的各种遍历,包括递归和非递归。

二叉树前序递归遍历、二叉树中序递归遍历、二叉树后序递归遍历、二叉树前序非递归遍历、二叉树中序非递归遍历、二叉树后序非递归遍历、二叉树层次非递归遍历
树先根递归遍历、树后根递归遍历、树先根非递归遍历、树后根非递归遍历、树层次非递归遍历,可循环执行直到按退出键。

字符串形式
二、概要设计
:
在递归遍历二叉树时,主要看遍历的根的先后,可根据遍历根,遍历左子树和遍历右子树的顺序不同来实现二叉树的先序,中序,后序递归遍历,二叉树的先序和中序非递归则用到了栈,一般都是先根进栈然后左孩子进栈,二叉树的后序遍历则用到了队列,并用tag数组值0、1来标记二叉树结点的左右,树的先根非递归和后序非递归则参考了二叉树的先序和中序非递归遍历,也用到了栈,它的层次遍历则用到了队列。
:
//二叉树的结点结构
typedef struct bitnode{
char data;
struct bitnode *lchild,*rchild;
}bitnode,* bitree;
//二叉树的栈的结构
typedef struct{
bitree *base;
bitree *top;
int stacksize;
}sqstack;
为二叉树的先序和中序非递归提供栈,保存已经访问过的结点信息。
//二叉树后序非递归的栈的结构
typedef struct node1{
bitree data[30]; //默认30个元素,这里需要一个辅助堆栈!!!
int top;
}stack;
top能够保存结点是左还是右孩子,该栈为后序遍历提供保存结点信息。
//二叉树的队列结点结构
typedef struct qnode{
bitree data;
struct qnode *next;
}qnode,*queueptr;
//二叉树的队列结构
typedef struct{
queueptr front;
queueptr rear;
}linkqueue;
该队列能为二叉树层序遍历提供先进先出的数据访问条件
//树的结点结构
typedef struct csnode{
char data;
struct csnode *firstchild,*nextsibling;
}csnode,*cstree;
//树的栈的结构
typedef struct{
cstree *base;
cstree *top;
int stacksize;
}sqstack1;
为树的前根和后根非递归遍历提供保存已经访问过的数据信息
//树的队列结点结构
typedef struct qnode1{
cstree data;
struct qnode1 *next;
}qnode1,*queueptr1;
//树的队列结构
typedef struct{
queueptr1 front;
queueptr1 rear;
}linkqueue1;
为树的层次遍历提供条件
:
cout<<"1:进行二叉树的操作 2:进行树的操作 3:退出"<<endl;
这是初始界面。进行选择.
cout<<"前序递归遍历是:";
preordertraverse(T);
cout<<"中序递归遍历是:";
inordertraverse(T);
cout<<"后序递归遍历是:";
postordertraverse(T);
cout<<"前序非递归遍历是:";
preordertraverse1(T);
cout<<"中序非递归遍历是:";
inordertraverse1(T);
cout<<"后序非递归遍历是:";
postordertraverse1(T);
cout<<"层次非递归遍历是:";
gradatraverse(T);
cout<<"先根递归遍历是:";
preordertraverse2(T1);
cout<<"后根递归遍历是:";
postordertraverse2(T1);
cout<<"树前根非递归遍历是:";
preordertraverse3(T1);
c

数据结构课程设计之二叉树和树的遍历 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数45
  • 收藏数0 收藏
  • 顶次数0
  • 上传人86979448
  • 文件大小892 KB
  • 时间2018-02-20