樹和森林的遍歷

     設樹T如下圖所示,結點R是根,根的子樹從左到右依次爲T 1 ,T 2 ,…,T k 。

  

  1.樹T的前序遍歷定義:

  若樹T非空,則:

  ①訪問根結點R;

  ②依次前序遍歷根R的各子樹T 1 ,T 2 ,…,T k 。

  2.樹的後序遍歷定義:

  若樹T非空,則:

  ①依次後序遍歷根T的各子樹T l ,T 2 ,…,T k ;

  ②訪問根結點R。

  【例】對下面的(a)圖中的樹進行前序遍歷和後序遍歷,得到的前序序列和後序序列分別是ABCDE和BDCEA。

  

  注意:

  ① 前序遍歷一棵樹恰好等價於前序遍歷該樹對應的二叉樹

  ② 後序遍歷樹恰好等價於中序遍歷該樹對應的二叉樹。

  森林的兩種遍歷方法

  1.前序遍歷森林

  若森林非空,則:

  ①訪問森林中第一棵樹的根結點;

  ②前序遍歷第一棵樹中根結點的各子樹所構成的森林

  ③前序遍歷除第一棵樹外其它樹構成的森林。

  2.後序遍歷森林

  若森林非空,則:

  ①後序遍歷森林中第一棵樹的根結點的各子樹所構成的森林;

  ②訪問第一棵樹的根結點;

  ③後序遍歷除第一棵樹外其它樹構成的森林。

  注意:

  ① 前序遍歷森林等同於前序遍歷該森林對應的二叉樹

  ② 後序遍歷森林等同於中序遍歷該森林對應的二叉樹

  【例】對下面(a)圖中所示的森林進行前序遍歷和後序遍歷,則得到該森林的前序序列和後序序列分別爲ABCDEFICJH和

  BDCAIFJGHE。而(b)圖所示二叉樹的前序序列和中序序列也分別爲ABCDEFIGJH和BDCAIFJGHE。

  

  ③ 當用二叉鏈表作樹和森林的存儲結構時,樹和森林的前序遍歷和後遍歷,可用二叉樹的前序遍歷和中序遍歷算法來實現。

           ( 文章來源:http://www.educity.cn/zk/sjjg/200801051035551484.htm)

                                                                                     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章