二叉树中序遍历

二叉树中序遍历的步骤:

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

算法

第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

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