樹和森林的遍歷

2021-07-11 10:52:19 字數 959 閱讀 2696

樹的遍歷

設樹t如下圖所示,結點r是根,根的子樹從左到右依次為t1,t2,…,tk。

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

若樹t非空,則:

①訪問根結點r;

②依次前序遍歷根r的各子樹t1,t2,…,tk。

2.樹的後序遍歷定義:

若樹t非空,則:

①依次後序遍歷根t的各子樹tl,t2,…,tk;

②訪問根結點r。

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

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

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

森林的兩種遍歷方法

1.前序遍歷森林

若森林非空,則:

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

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

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

2.後序遍歷森林

若森林非空,則:

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

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

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

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

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

【例】對下面(a)圖中所示的森林進行前序遍歷和後序遍歷,則得到該森林的前序序列和後序序列分別為abcdeficjh和bdcaifjghe。而(b)圖所示二叉樹的前序序列和中序序列也分別為abcdeficjh和bdcaifjghe。 

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

樹和森林的遍歷

一 樹的遍歷 樹的結構是乙個根加上森林,而森林又是樹的集合,由此我們可以引出樹的兩種遍歷方式 這兩種遍歷方式本身也是一種遞迴定義 1 先根 先序 遍歷 即先訪問樹的根結點,然後依次先根遍歷根的每棵子樹 2 後根 後序 遍歷 即先依次後根遍歷根的每棵子樹,然後訪問根結點 3 另外還有一種層序遍歷,這種...

樹和森林的遍歷

數的結構是乙個根加上森林,而森林又是樹的集合,由此我們可以引出樹的兩種遍歷方式 這兩種遍歷方式本身也是一種遞迴定義 1 先根 先序 遍歷 即先訪問樹的根結點,然後依次先根遍歷根的每棵子樹 2 後根 後序 遍歷 即先依次後根遍歷根的每棵子樹,然後訪問根結點 3 另外還有一種層序遍歷,這種遍歷就是自上向...

樹和森林的遍歷

由樹結構的定義可知,樹的遍歷有二種方法。1 先序遍歷 先訪問根結點,然後依次先序遍歷 完每棵子樹。2 後序遍歷 先依次後序遍歷完每棵子樹,然後訪 問根結點。說明 樹的先序遍歷實質 上與將樹轉換成二叉樹 後對二叉樹的先序遍歷相同。樹的後序遍歷實質上與將樹轉換成二叉樹 後對二又樹的中序遍歷相同。1 先序...