二叉树的3种遍历方式


二叉树的3种遍历方式_第1张图片


规定先左后右,则只有前三种情况,分别规定为:

                  DLR——先(根)序遍历,

                  LDR——中(根)序遍历,

                  LRD—— 后(根)序遍历。


先序遍历:

若二叉树为空,则空操作;否则

(1)访问根结点;

(2)先序遍历左子树;

(3)先序遍历右子树。

 

void PreOrder(T)//T是树根

{

if(T为空)return;

访问T的元素;

PreOrder(T的左子树);

PreOrder(T的右子树);

}

 


中序遍历:


若二叉树为空,则空操作;否则

(1)中序遍历左子树;

(2)访问根结点;

(3)中序遍历右子树。

 

void InOrder(T)//T是树根

{

if(T为空)return;

InOrder(T的左子树);

访问T的元素;

InOrder(T的右子树);

}

 


后序遍历:

若二叉树为空,则空操作;否则

(1)后序遍历左子树;

(2)后序遍历右子树;

(3)访问根结点。

 

void PostOrder(T)//T是树根

{

if(T为空)return;

PostOrder(T的左子树);

PostOrder(T的右子树);

访问T的元素;

}

 



你可能感兴趣的:(二叉树的3种遍历方式)