数据结构树的基本操作(主要遍历)

一. 实验目的
将树的基本操作C语言实现,主要考察树的先序,中序,后序和层次遍历。

二.主要内容

本文所使用的二叉树如图:
显然
先序:ABCDEGF
中序:CBEGDFA
后序:CGEFDBA
层次:ABCDEFG

BiTree.h内容

主要函数:

① 先序创建二叉树

注意创建的时候如果没有左右子树要输入空格
输入:ABC_ _DE_G_ _F_ _ _

② 先序遍历(递归算法)

③ 中序遍历(递归算法)

④ 中序遍历(非递归算法)
注意此处需要包含C++STL头文件include<stack>

⑤ 后序遍历(递归算法)

⑥ 层次遍历(使用QUEUE)

可以包含STL<queue>或者定义一个数组,使用循环队列即可。

⑦ Visit函数此处使用的是输出

⑧ 计算树的节点数

⑨ 计算树的深度

Main函数:

实验小结
1. 遍历函数可以写成递归和非递归,递归函数更加简洁。
2. 层次遍历需要使用队列,可以包含C++STL<queue>或者定义一个数组,使用循环队列即可。注意每次判断时要把队列的头赋值给临时变量P,左右子树从队尾插入。
3.先序创建树时,要注意创建的时候如果没有左右子树要输入空格
输入:ABC_ _DE_G_ _F_ _ _

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注