树的遍历

来源:互联网 发布:杭州程序员招聘 编辑:程序博客网 时间:2024/05/21 06:52

树的遍历

     设树T如下图所示,结点R是根,根的子树从左到右依次为T1,T2,…,Tk
         

数据结构 <wbr>- <wbr>树和森林的遍历




1.树T的前序遍历定义: 
  若树T非空,则:
 ①访问根结点R;
  ②依次前序遍历根R的各子树T1,T2,…,Tk

2.树的后序遍历定义:
  若树T非空,则:
    ①依次后序遍历根T的各子树Tl,T2,…,Tk
    ②访问根结点R。

【例】对下面的(a)图中的树进行前序遍历和后序遍历,得到的前序序列和后序序列分别是ABCDE和BDCEA。
         

数据结构 <wbr>- <wbr>树和森林的遍历




  注意:
     ① 前序遍历一棵树恰好等价于前序遍历该树对应的二叉树
     ② 后序遍历树恰好等价于中序遍历该树对应的二叉树。

森林的两种遍历方法

1.前序遍历森林

    若森林非空,则:
①访问森林中第一棵树的根结点;
②前序遍历第一棵树中根结点的各子树所构成的森林
③前序遍历除第一棵树外其它树构成的森林。

2.后序遍历森林
  若森林非空,则:
①后序遍历森林中第一棵树的根结点的各子树所构成的森林;
②访问第一棵树的根结点;
③后序遍历除第一棵树外其它树构成的森林。
  注意:
     ① 前序遍历森林等同于前序遍历该森林对应的二叉树
     ② 后序遍历森林等同于中序遍历该森林对应的二叉树
【例】对下面(a)图中所示的森林进行前序遍历和后序遍历,则得到该森林的前序序列和后序序列分别为ABCDEFICJH和BDCAIFJGHE。而(b)图所示二叉树的前序序列和中序序列也分别为ABCDEFICJH和BDCAIFJGHE。
     

数据结构 <wbr>- <wbr>树和森林的遍历




     ③ 当用二叉链表作树和森林的存储结构时,树和森林的前序遍历和后遍历,可用二叉树的前序遍历和中序遍历算法来实现。

想了解有关树、二叉树和森林的请看我前面的文章

http://blog.sina.com.cn/s/blog_a30e6b270101ihco.html

 

 

本文转载于http://student.zjzk.cn/course_ware/data_structure/web/shu/shu6.5.3.htm

0 0
原创粉丝点击