樹 樹遍歷 遞迴思想

2021-10-06 01:45:25 字數 1581 閱讀 4283

資料儲存在儲存器中一般按順序結構,鏈結儲存,雜湊儲存,索引儲存這四種儲存方式儲存,本篇文章只展示順序儲存的樹格式,並遍歷該種格式的樹。

遞迴思想:遞迴思想最簡單的理解就是自己呼叫自己,直到不滿足條件才跳出遞迴,所以判斷條件和自身呼叫時是遞迴兩大不可缺少的東西。

順序儲存的二叉樹特點:採取順序儲存的二叉樹必須是完全二叉樹,因為一般按照按行儲存,所以需要為完全二叉樹。

案例:假設有這樣的一顆棵樹(如下)。

定義乙個按行儲存的陣列(8-4-11-1-6-9-16),**如下;

public

int[

]gettree()

;return data;

}

前、中、後序遍歷只需改變根節點輸出位置就可以實現前、中、後序遍歷

public

void

scantree

(int i)

system.out.

println

(arraytree2[i]);

//根節點if(

(i*2+1

)(i*2+2)}

總**

public

class

treenode

}class

tree

//無引數構造方法

public

int[

]gettree()

;return data;

}public

void

scantree

(int i)

system.out.

println

(arraytree2[i]);

//根節點if(

(i*2+1

)(i*2+2)}}

該樹的遞迴呼叫邏輯

第一次8,滿足條件向下

第二次4,滿足條件向下

第三次1,不滿足條件,無法向下

第四次輸出1

第五次1,不滿足條件,返回4層

第六次輸出4

第七次6,不滿足條件,無法向下

第八次輸出6

第九次6,不滿足條件,返回8層

第十次輸出8

第十一次11,滿足條件向下

第十二次9,不滿足條件,無法向下

第十三次輸出9

第十四次9,不滿足條件,返回11層

第十五次輸出11

第十六次16,不滿足條件,無法向下

第十七次輸出16

第十八次16,不滿足條件,結束。

遞迴遍歷樹

其實就是業務驅動成長,因為昨天給的乙個介面是涉及多級架構的,也就是一級結構下面可以有多個二級架構,二級下面還可以有多個 因為不能確定下面到底有多少級,而又需要把所有組織遍歷出來放在 中展示。類似這種 一開始沒考慮什麼多級,用了for遍歷,後來一想,不對呀,不能確定有多少個的,不能這樣遍歷。然後問了一...

專案二 二叉樹遍歷的遞迴思想

問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年11月2日 問題描述 實現二叉樹的先序 中序 後序遍歷的遞迴演算法,並對用 a b d,e h j,k l,m n c f,g i 建立的二叉樹進行測試。1 標頭檔案 ifndef btree h included define b...

樹的遍歷遞迴非遞迴

1先序 遞迴 class solution public void b list list,treenode tree 非遞迴 class solution else return list 2中序 遞迴 class solution public void b list list,treenode...