Advertisement

二叉树的遍历

阅读量:

简要

本节主要向大家讲解二叉树的遍历方法,并对先序、中序和后序三种不同的访问顺序进行深入阐述。具体来说,我们将详细讨论它们各自的特点以及如何通过递归算法来实现这一过程。

遍历二叉树

进行二叉树遍访是指以特定的方式查看二叉树中的每一个节点,并确保每个节点只被查看一次。

  • 以D表示访问根节点(Root)、L表示依次访问左子树(Left)、R表示依次访问右子树(Right)。二叉树的遍历方式共有六种不同的组合:DLR法被称为先序遍历法(preorder traversal),LDR被称为中序遍历法(inorder traversal),而LRD则是后序遍历法(postorder traversal)。
  • 当规定必须先访问左子树再访问右子树时,则只剩下前三种组合:DLR顺序即属于先根次序的访问策略。

先序遍历

若一棵二叉树为空,则终止其遍历过程;否则执行以下步骤:
第一步访问该树的根节点;
第二步对该节点的左子树进行递归地先序遍历;
第三步对该节点的右子_tree进行递归地先序遍历。
递归地进行先序遍历的过程如下所述

复制代码
    void  PreOrder(BiTree bt)  {//先序遍历二叉树
     if(bt!=NULL)  {
           printf (“%d”,bt->data); //访问根结点

全部评论 (0)

还没有任何评论哟~