數據結構–樹和森林的遍歷

樹的先根遍歷

void PreOrder(TreeNode* R)
{
if (R != NULL)
{
visit(R);
while (R還有下一個子樹T)
PreOrder(T);
}
}
樹和二叉樹的轉化后==》

樹的先根遍歷序列與這棵樹相應二叉樹的先序序列相同。 \color{red}樹的先根遍歷序列與這棵樹相應二叉樹的先序序列相同。 樹的先根遍歷序列與這棵樹相應二叉樹的先序序列相同。
A B C D A ( B E F ) ( C G ) ( D H I ) A ( B ( E , K ) F ) ( C G ) ( D H I J ) \begin{array}{ccccccccc}\mathbf{A}&\mathbf{B}&&\mathbf{C}&&\mathbf{D}&\\\mathbf{A}&(\mathbf{B}&\mathbf{E}&\mathbf{F})&(\mathbf{C}&\mathbf{G})&(\mathbf{D}&\mathbf{H}&\mathbf{I})\\\mathbf{A}&(\mathbf{B}&(\mathbf{E},\mathbf{K})&\mathbf{F})&(\mathbf{C}&\mathbf{G})&(\mathbf{D}&\mathbf{H}&\mathbf{I}&\mathbf{J})\end{array} AAA?B(B(B?E(E,K)?CF)F)?(C(C?DG)G)?(D(D?HH?I)I?J)?
樹的后根遍歷

void PreOrder(TreeNode* R)
{
if (R != NULL)
{
while (R還有下一個子樹T)
PreOrder(T);
visit(R);
}
}
樹和二叉樹的轉化后==》

樹的后根遍歷序列與這棵樹相應二叉樹的中序序列相同。 \color{red}樹的后根遍歷序列與這棵樹相應二叉樹的中序序列相同。 樹的后根遍歷序列與這棵樹相應二叉樹的中序序列相同。
B C D A ( E F B ) ( G C ) ( H I J D ) A ( ( K E ) F B ) ( G C ) ( H I J D ) A \begin{array}{cccccccc}&&\text{B}&\text{C}&&&\text{D}&\text{A}\\(&\mathrm{E}&\mathrm{F}&\mathrm{B})&(\mathrm{G}&\mathrm{C})&(\mathrm{H}&\mathrm{I}&\mathrm{J}&\mathrm{D})&\mathrm{A}\\((\mathrm{K}&\mathrm{E})&\mathrm{F}&\mathrm{B})&(\mathrm{G}&\mathrm{C})&(\mathrm{H}&\mathrm{I}&\mathrm{J}&\mathrm{D})&\mathrm{A}\end{array} (((K?EE)?BFF?CB)B)?(G(G?C)C)?D(H(H?AII?JJ?D)D)?AA?
樹的層次遍歷

廣度優(yōu)先遍歷 \color{green}廣度優(yōu)先遍歷 廣度優(yōu)先遍歷
3)
層次遍歷
\color{red}層次遍歷
層次遍歷(用隊列實現)
①若樹非空,則根節(jié)點入隊
②若隊列非空,隊頭元素出隊并訪問,同時將該元素的孩子依次入隊
③重復②直到隊列為空
森林的先序遍歷
森林。森林是 m ( m ≥ 0 ) m (m\ge0) m(m≥0)棵互不相交的樹的集合。每棵樹去掉根節(jié)點后,其各個子樹又組成森林。

1)
先序遍歷森林
\color{red}先序遍歷森林
先序遍歷森林。
若森林為非空,則按如下規(guī)則進行遍歷:
訪問森林中第一棵樹的根結點。
先序遍歷第一棵樹中根結點的子樹森林。
先序遍歷除去第一棵樹之后剩余的樹構成的森林。
效果等同于依次對各個樹進行先根遍歷 \color{red}效果等同于依次對各個樹進行先根遍歷 效果等同于依次對各個樹進行先根遍歷
BCD ( B E F ) ( C G ) ( D H I J ) (B(EKL)?F)?(C?G)?(D?(H?M)?I?J) \begin{aligned} &\text{BCD} \\ &(BEF)(CG)(DHIJ) \\ &\text{(B(EKL) F) (C G) (D (H M) I J)} \end{aligned} ?BCD(BEF)(CG)(DHIJ)(B(EKL)?F)?(C?G)?(D?(H?M)?I?J)?

效果等同于依次對二叉樹的先序遍歷 \color{red}效果等同于依次對二叉樹的先序遍歷 效果等同于依次對二叉樹的先序遍歷
森林的中序遍歷
森林。森林是 m ( m ≥ 0 ) m (m\ge0) m(m≥0)棵互不相交的樹的集合。每棵樹去掉根節(jié)點后,其各個子樹又組成森林。

2)
中序遍歷森林
\color{red}中序遍歷森林
中序遍歷森林。
若森林為非空,則按如下規(guī)則進行遍歷:
中序遍歷森林中第一棵樹的根結點的子樹森林。訪問第一棵樹的根結點。
中序遍歷除去第一棵樹之后剩余的樹構成的森林。
效果等同于依次對各個樹進行后根遍歷 \color{red}效果等同于依次對各個樹進行后根遍歷 效果等同于依次對各個樹進行后根遍歷
B C D ( E F B ) ( G C ) ( H J D ) ( ( K L E ) F B ) ( G C ) ( ( M H ) I J D ) \begin{array}{cccccccc}&&&&\text{B}&&\text{C}&&\text{D}\\(&&&E&\text{F}&\text{B})&(\text{G}&\text{C})&(&\text{H}&\text{J}&\text{D})\\((\text{K}&\text{L}&\text{E})&\text{F}&\text{B})&(\text{G}&\text{C})&((\text{M}&\text{H})&\text{I}&\text{J}&\text{D})\end{array} (((K?L?E)?EF?BFB)?B)(G?C(GC)?C)((M?D(H)?HI?JJ?D)D)?文章來源:http://www.zghlxwxcb.cn/news/detail-558483.html

效果等同于依次對二叉樹的中序遍歷 \color{red}效果等同于依次對二叉樹的中序遍歷 效果等同于依次對二叉樹的中序遍歷文章來源地址http://www.zghlxwxcb.cn/news/detail-558483.html
知識點回顧與主要考點

到了這里,關于數據結構--樹和森林的遍歷的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!