二叉樹的遍歷是指按某種次序依次訪問樹中的每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。二叉樹圖例一、遞迴先序遍歷的操作遍歷示例圖如果二叉樹為空,什麼也不做。否
2021-06-01 00:12:09
二叉樹的遍歷是指按某種次序依次訪問樹中的每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。
一、遞迴先序遍歷的操作
如果二叉樹為空,什麼也不做。否則:
訪問根結點;先序遍歷左子樹;先序遍歷右子樹。void PreOrder(BiTree T){
if(T!=NULL){
printf(「%c」,T->data) //訪問根結點
PreOrder(T->lchild); //遞迴遍歷左子樹
PreOrder(T->rchild); //遞迴遍歷右子樹
}}
遍歷序列: A B D G C E F
二、遞迴中序遍歷的操作
如果二叉樹為空,什麼也不做。否則:
中序遍歷左子樹;訪問根結點;中序遍歷右子樹。void InOrder(BiTree T){
if(T!=NULL){
InOrder(T->lchild); //遞迴遍歷左子樹
printf(「%c」,T->data); //訪問根結點
InOrder(T->rchild); //遞迴遍歷右子樹
}}
遍歷序列:D G B A E C F
三、遞迴後序遍歷的操作
如果二叉樹為空,什麼也不做。否則:
後序遍歷左子樹;後序遍歷右子樹;訪問根結點。void PostOrder(BiTree T){
if(T!=NULL){
PostOrder(T->lchild); //遞迴遍歷左子樹
PostOrder(T->rchild); //遞迴遍歷右子樹
printf(「%c」,T->data); //訪問根結點
}}
遍歷序列:G D B E F C A
相關文章
二叉樹的遍歷是指按某種次序依次訪問樹中的每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。二叉樹圖例一、遞迴先序遍歷的操作遍歷示例圖如果二叉樹為空,什麼也不做。否
2021-06-01 00:12:09
出品|開源中國文|局長谷歌近日正式面向公眾推出了 Fuchsia OS,獲得 Fuchsia 1.0 推送的裝置是第一代 Nest Hub。與基於 Linux 核心的 Chrome OS 和 Android 等作業系統不同,Fu
2021-06-01 00:12:02
WWDC 2021 即將來了老司機們都知道,蘋果一年大概只有兩場釋出會最值得關注,一場當然是九十月份的秋季新品釋出會,蘋果會在釋出會上釋出全新的 iPhone 和重磅產品。另外一場則是
2021-06-01 00:11:48
從小米MIX2S支援7.5W無線充電開始,小米從此以後就開始走向了「開掛」模式!小米MIX3支援10W無線充電,小米9支援20W無線閃充,當時已經創下了記錄,後來小米10再次創下記錄,釋出30W無
2021-06-01 00:11:40
【5月31日訊】相信大家都知道,華為將會在6月2日釋出鴻蒙手機系統正式版,屆時絕大部分的華為手機使用者都可以不用申請內測體驗,就可以享受到華為鴻蒙OS系統所帶來的極致快感,這
2021-06-01 00:11:34
如今大家手中的電子裝置越來越豐富了,手機、筆記本、藍芽耳機、智慧手錶等等,裝置多了充電器也就更多,給我們帶來精彩生活的同時也帶來了一些不方便。一方面,很多人平時會突然找
2021-06-01 00:11:26