软考:数据结构基础——二叉树三种遍历顺序

  一、二叉树的先序遍历

    规则,从根节点开始,优先访问每一个左孩子,每次访问都要输出数据

    示例,先序遍历的顺序

    下图节点的编号都代表着他们被访问的次序

    

void preOrder(BiTree T){
    if(T != NULL){
        printf("%d \n",T->data);
        preOrder(T->lchild);
        preOrder(T->rchild);
    }
}

 

   二、中序遍历二叉树

    从根节点开始,优先访问左孩子,当一个双亲节点的左孩子的所有节点被访问完时,访问这个双亲节点,之后访问它的右孩子,它的右孩子的左孩子的所有节点被访问完时才能访问它

    太绕了我要死了。

    示例

void inOrder(BiTree T){
    if(T != NULL){
        inOrder(T->lchild);
        printf("%d \n",T->data);
        inOrder(T->rchild);
    }
}

 

   三、后序遍历二叉树

    当一个双亲节点的所有子节点都被访问完时,才访问这个双亲节点,访问这些子节点都是优先访问左孩子节点

    

void postOrder(BiTree T){
    if(T != NULL){
        postOrder(T->lchild);
        postOrder(T->rchild);
        printf("%d \n",T->data);
    }
}

 

 

转载于:https://www.cnblogs.com/dyf-stu/p/10055120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值