二叉樹中序遍曆

二叉樹中序遍曆的步驟:

  • 按順序遍曆左子樹
  • 訪問根節點
  • 按順序遍曆右子樹

演算法

第1步:重複第2步到第4步,同時TREE!= NULL
第2步:INORDER(TREE -> LEFT)
第3步:寫入 TREE -> DATA
第4步:INORDER(TREE -> RIGHT)
        [迴圈結束]
第5步:結束

C語言實現函數

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

示例

使用按中序遍曆方式遍曆以下二叉樹。

  • 列印左子樹的最左邊節點,即23
  • 列印左子樹的根,即211
  • 列印右子節點,即89
  • 列印樹的根節點,即18
  • 然後,移動到二叉樹的右子樹並列印最左邊的節點,即10
  • 列印右子樹的根,即20
  • 列印右的子樹,即32
  • 最後,列印順序為:23,211,89,18,10,20,32

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