美文网首页
二叉树的递归遍历

二叉树的递归遍历

作者: 日常表白结衣 | 来源:发表于2017-07-30 20:06 被阅读0次

【链表存储结构】

/* 定义二叉树结构 */
typedef struct TreeNode *BinTree;
typedef BinTree Position;
struct TreeNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
}

【先序遍历】
先访问根节点,先序遍历其左子树,先序遍历其右子树。

先序遍历
/* 先序遍历 */
/* 遍历顺序 ABDFE  CGHI */
void PreOrderTraversal(BinTree BT)
{
    if(BT){
        printf("%d",BT->Data);
        PreOrderTraversal(BT->Left);
        PreOrderTraversal(Bt->Right);
    }
}

【中序遍历】

中序遍历
/* 中序遍历 */
/* 左子树->根节点->右子树 
   D B E F A G H C I */
void PreOrderTraversal(BinTree BT)
{
    if(BT){
        PreOrderTraversal(BT->Left);
        printf("%d",BT->Data);
        PreOrderTraversal(Bt->Right);
    }
}

【后序遍历】

后序遍历
/* 后序遍历 */
/* 左子树->右子树-> 根节点
   D E F B H G I C A */
void PreOrderTraversal(BinTree BT)
{
    if(BT){
        PreOrderTraversal(BT->Left);
        PreOrderTraversal(Bt->Right);
                printf("%d",BT->Data);
    }
}

相关文章

网友评论

      本文标题:二叉树的递归遍历

      本文链接:https://www.haomeiwen.com/subject/durklxtx.html