首页 > 其他 > 详细

二叉树的遍历

时间:2019-05-05 23:04:44      阅读:204      评论:0      收藏:0      [点我收藏+]

二叉树是每个节点最多有两个子树的树结构,遍历方法有深度优先(包括:先序、中序、后序遍历)和宽度优先(层序遍历),层序遍历通过队列可以实现。

这里主要介绍深度优先遍历的方法以及其中栈的应用,帮助理解二叉树的结构、递归和非递归中栈的应用。

前序遍历:根结点 ---> 左子树 ---> 右子树

中序遍历:左子树---> 根结点 ---> 右子树

后序遍历:左子树 ---> 右子树 ---> 根结点

根据三种遍历的特性,递归的算法很容易就能写出来

技术分享图片
//先序
void PreOrder(node *root)
{
    if (root==NULL) return;
    else {
        printf("%d", root->data);
        PreOrder(root->lch);
        PreOrder(root->rch); 
    }
}
//中序
void InOrder(node *root)
{
    if (root==NULL) return;
    else {
        InOrder(root->lch);
        printf("%d", root->data);
        InOrder(root->rch); 
    }
}
//后序
void PostOrder(node *root)
{
    if (root==NULL) return;
    else {
        PostOrder(root->lch);
        PostOrder(root->rch);
        printf("%d", root->data); 
    }
}
int mian()
{
    
} 
View Code

 

二叉树的遍历

原文:https://www.cnblogs.com/wizarderror/p/10816635.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!