二叉树遍历:
递归实现:
void BT_Order(BTreeNode *t)
{
if(NULL == t)return ;
//先序处理插入cout<<t->data<<' ';
BT_Order(t->lchild);
//中序处理插入cout<<t->data<<' ';
BT_Order(t->rchild);
//后序处理插入cout<<t->data<<' ';
}
非递归实现:(后序遍历???)
void BT_Order(pTreeT root)
{
stack<treeT *> s;
while ( root) || !s.empty())
{
if (root)
{
//若为先序,则插入visit(root);
s.push(root);
root = root->left;
}
else
{
root = s.top();
//若为中序,插入visit(root);
s.pop();
root = root->right;
}
}
}
层次遍历:
void BT_LevelOrder(pTreeT root)
{
queue<treeT *> q;
treeT *treePtr;
assert( NULL != root );
q.push(root);
while (!q.empty())
{
treePtr = q.front();
q.pop();
visit(treePtr);
if (NULL != treePtr->left)
{
q.push(treePtr->left);
}
if (NULL != treePtr->right)
{
q.push(treePtr->right);
}
}
}
创建二叉树
void creat_BT(tree &t)
{
char ch;
cin>>ch;
if(ch == '0')
{
t=NULL;
}
else
{
t = new binary_tree;
if(!t) exit(0); //如果没成功申请空间 则退出
t->data=ch;
creat_tree(t->lchild);
creat_tree(t->rchild);
}
}
分享到:
相关推荐
数据结构课程设计--二叉树遍历及其应用、对树的先序遍历、后序遍历、中序遍历、层序遍历、二叉树的深度及其叶子树、并打印树形。
/****头文件"head.h"**********/ #include<stdio.h> #include<math.h> ...// 先序遍历二叉树T if (T) { printf("%c",T->data); PreOrderTraverse(T->lchild); PreOrderTraverse(T->rchild); } }
二叉树遍历算法应用各种算法包括遍历创建求深度等
二叉树遍历算法,包括创建二叉树,先序,中序以及后序遍历等。
利用递归方式完成二叉树的简单创建以及遍历。
二叉树遍历 c 层遍历 完整结构层遍历 只有层遍历代码及创建二叉树代码
二叉树的各种遍历及创建 有代码和各种调试好的文件
按先序遍历的扩展序列建立二叉树的二叉链表存储结构,实现二叉树先序、中序、后序遍历的递归算法,实现二叉树中序遍历的非递归算法,实现二叉树层次遍历的非递归算法(要求使用顺序队列,调用顺序队列基本操作...
5.编制程序实现二叉树遍历算法并运行。 正文 二、综合训练任务描述 这次实习的主要任务是对二叉树的先序、中序、后序的递归与非递归遍历算法,按层次遍历的非递归遍历算法的实现,同时也实现了对二叉树的创建的算法...
数据结构 二叉树 用C语言创建与遍历 前序 中序遍历 后序遍历
二叉树的操作 1.先序创建二叉树 2.中序递归遍历二叉树 3.先序非递归遍历二叉树 4.中序非递归遍历二叉树 5.后序非递归遍历二叉树 6.层次遍历二叉树 7.求二叉树的高度 8.求二叉树叶子数 9.退出程序
用C++写的二叉树先序遍历、中序遍历和后序遍历非递归算法
用二叉树先序遍历算法创建一组数据构成的二叉树排序,然后用二叉树中序遍历算法实现数据排序输出。
关于二叉树的创建及遍历,代码实现功能。二叉树的创建和遍历 主要完成二叉树的创建以及二叉树的先序、中序、后序遍历
掌握二叉树的创建、遍历的方法。 利用二叉树的按层遍历序列创建二叉树,然后实现二叉树的前序、中序和后序遍历。
运行时从键盘输入先序序列,创建对应二叉树T,然后对T进行非递归中序遍历、递归后序遍历和层序遍历。
二叉树的创建与遍历,使用递归调用,含前序遍历、中序遍历、后序遍历、层序遍历
数据结构二叉树遍历求树叶数及树的深度,个人作业,仅供大家参考或改进
1.先序创建 2.先序遍历递归算法 3.中序遍历递归算法 4.后序遍历递归算法 5.先序遍历非递归算法 6.后序遍历非递归算法 7.中序遍历非递归算法 8.二叉树求深度 9.左孩子右兄弟链表创建树并求深度
建立二叉树并遍历的程序,可以实现现需输入二叉树,进行先序、中序、后序遍历,同时通过树控件输出二叉树。