【算法王道】二叉树的遍历
来源:互联网 发布:网络对生活的利与弊 编辑:程序博客网 时间:2024/06/01 19:03
前序遍历
void preOrder(Bitree bt)
{
int top = 0; BiTree s[];
while(bt != null || top > 0)
{
while(bt != null)
{
cout << bt->data;
if(bt->rchild) s[++top] = bt->rchild;
bt = bt->lchild;
}
if(top > 0)
bt = s[top--];
}
}
{
int top = 0; BiTree s[];
while(bt != null || top > 0)
{
while(bt != null)
{
cout << bt->data;
if(bt->rchild) s[++top] = bt->rchild;
bt = bt->lchild;
}
if(top > 0)
bt = s[top--];
}
}
中序遍历
void inOrder(BiTree bt)
{
BiTree s[], p =bt;
int top = 0;
while(p || top > 0)
{
while(p)
{
s[++top] = p;
p = p->lchild;
}
if(top > 0)
{
p = s[top--];
cout << p->data;
p = p->rchild;
}
}
}
{
BiTree s[], p =bt;
int top = 0;
while(p || top > 0)
{
while(p)
{
s[++top] = p;
p = p->lchild;
}
if(top > 0)
{
p = s[top--];
cout << p->data;
p = p->rchild;
}
}
}
后序遍历
void postOrder(BiTree t)
{
BiTree q = bt, s[];
int top = 0,tag[];
while(q != null && top > 0)
{
while(q != null)
{
s[++top] = q;
tag[top] = 0;
q = q->lchild;
}
{
BiTree q = bt, s[];
int top = 0,tag[];
while(q != null && top > 0)
{
while(q != null)
{
s[++top] = q;
tag[top] = 0;
q = q->lchild;
}
while(top > 0 && tag[top] == 1)
{ cout << a[top].->data; top--; }
if(top>0)
{
q = s[top];
q = q->rchild;
tag[top] = 1;
}
}
}
if(top>0)
{
q = s[top];
q = q->rchild;
tag[top] = 1;
}
}
}
层次遍历
void levelOrder(BiTree bt)
{
BiTree p = bt, Q[];
int front = 0, rear = 1;
Q[0] = p;
while(front <= rear)
{
p = Q[front++];
cout << p->data;
if(p->lchild)
Q[rear++] = p->lchild;
{
BiTree p = bt, Q[];
int front = 0, rear = 1;
Q[0] = p;
while(front <= rear)
{
p = Q[front++];
cout << p->data;
if(p->lchild)
Q[rear++] = p->lchild;
if(p->rchild)
Q[rear++] = p->rchild;
Q[rear++] = p->rchild;
}
}
}
- 【算法王道】二叉树的遍历
- 二叉树的遍历算法
- 二叉树的遍历算法
- 二叉树的遍历算法
- 二叉树的遍历算法
- 二叉树的遍历算法
- 遍历二叉树的算法
- 二叉树遍历的算法
- 二叉树的遍历算法
- 二叉树的遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- 二叉树遍历算法
- AbstractFactory模式
- TCP/IP协议栈的基本工作原理
- 第5章 泛型
- C语言运算符优先级总结
- CORBA
- 【算法王道】二叉树的遍历
- ACM学习规划
- 第3.1.5节 防止程序无响应的ANR
- c++ The compile error : unresolved overloaded funciton type
- hdu2158
- WSO2-Stratos2.0的Cartridges
- org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- List和ArrayList, Map和HashMap的区别
- what is a process?