層次遍歷:自上而下,從左往右訪問結點
除了根節點首先需要訪問外,其他結點遍歷都遵循先訪問左孩子結點,後訪問右孩子結點,所以只需要傳入父節點,就可以訪問左右孩子結點了,符合遞迴的思想。
typedef
struct bitnode bitnode,
* bitree;
/** 遞迴實現層次遍歷
* 實現思路:根節點只訪問一次,左右孩子結點先訪問,再遞迴訪問孩子的孩子,就是一層一層訪問,使用遞迴
*/bool flag =
true
;bool
levelorderrecursion
(bitree t)
if(t !=
null
&& flag ==
true)if
(t->lchild !=
null)if
(t->rchild !=
null
)levelorderrecursion
(t->lchild)
;//遞迴訪問
levelorderrecursion
(t->rchild)
;//遞迴訪問
return
true
;}
10 二叉樹 鏈式儲存 遞迴遍歷
終於進入非線性資料結構的第一站了!先從簡單的開始回憶起來吧!1 二叉樹的鏈式儲存 用乙個鍊錶來儲存一顆二叉樹,每乙個結點用鍊錶的乙個鏈結點來儲存。通常地,乙個二叉鍊錶至少包含3個域 資料域data 左指標域lchild 右指標域rchild。現實應用的過程中,可以按照自己的需求新增其他指標域。1 t...
二叉樹層次遍歷(遞迴版)
題目 分析 看到這個題目我第一反應是遞迴,不過貌似好像大概還有挺多不同的解法。本篇文章記錄一下我的遞迴思路,其他的演算法留待日後學習。力扣上給出的空方法模板的返回值為list 結合題幹可知,每一層的節點數值應按順序存入乙個集合中,所有的節點集合也要儲存在乙個集合中。那麼問題來了,對於方法而言,二叉樹...
二叉樹 鏈式儲存的遍歷
include include include define status void define teletype char define null 0 typedef struct bitnode bitnode,bitree bitree jj bitree bin jj 構造二叉樹鍊錶表示的...