二叉树后序遍历

二叉树后序遍历的步骤如下:

  • 按后序遍历左子树
  • 按后序遍历右子树
  • 访问根节点

算法

第1步:重复第2步到第4步,同时TREE!= NULL
第2步:POSTORDER(TREE -> LEFT)
第3步:POSTORDER(TREE -> RIGHT)
第4步:写入TREE -> DATA
        [循环结束]
第5步:结束

C语言代码实现

void post-order(struct treenode *tree)  
{  
    if(tree != NULL)  
    {  
        post-order(tree→ left);  
        post-order(tree→ right);  
        printf("%d",tree→ root);  
    }  
}

示例

使用后序遍历遍历以下树 -

  • 打印二叉树左子树的左子节点,即23
  • 打印二叉树左子树的右子节点,即89
  • 打印左子树的根节点,即211
  • 现在,在打印根节点之前,移动到右子树并打印左子节点,即10
  • 打印右子节点,即32
  • 打印根节点,即20
  • 最后,打印树的根,即18

最后打印顺序为:23,89,211,10,32,18


上一篇: 二叉树 下一篇: 二叉搜索树