二叉树前序遍历

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

  1. 访问根节点
  2. 以前序遍历左子树
  3. 以前序遍历右子树

算法

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

C语言实现的函数

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

示例
使用先序遍历方式遍历以下二叉树 -

  • 使用的遍历方案是前序遍历,因此,要打印的第一个元素是18
  • 递归遍历左子树。 左子树的根节点是211,打印它并向左移动。
  • 左边是空的,因此打印右侧子项并移动到根的右侧子树。
  • 因此,20是根的右子树,打印它并向左移动。 由于左子树是空的,因此向右移动并打印那里存在的唯一元素,即190
  • 最后,打印顺序为:18,211,90,20,190

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