现在的位置: 首页 > 综合 > 正文

二叉树的3种遍历方式

2013年10月20日 ⁄ 综合 ⁄ 共 496字 ⁄ 字号 评论关闭

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

                  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的元素;

}

 

抱歉!评论已关闭.