国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

樹的遍歷三種算法 二叉樹的層次遍歷?

二叉樹的層次遍歷?設(shè)計(jì)一個(gè)遍歷二叉樹的算法(從左到右訪問同一層)。思路:用隊(duì)列保存當(dāng)前節(jié)點(diǎn)的左右子節(jié)點(diǎn),實(shí)現(xiàn)序列遍歷。Void hierarchy BiTree(BiTree root){linkqu

二叉樹的層次遍歷?

設(shè)計(jì)一個(gè)遍歷二叉樹的算法(從左到右訪問同一層)。思路:用隊(duì)列保存當(dāng)前節(jié)點(diǎn)的左右子節(jié)點(diǎn),實(shí)現(xiàn)序列遍歷。

Void hierarchy BiTree(BiTree root){

linkqueue*q//保存當(dāng)前節(jié)點(diǎn)左右子節(jié)點(diǎn)的隊(duì)列

initqueue(q)//初始化隊(duì)列

if(root==null)return//樹為空時(shí)返回

binode*P=root//將樹根臨時(shí)保存到指針P

visit(P->data)//訪問根節(jié)點(diǎn)

if(P->lchild)enqueue(Q,P->lchild)//如果有左子級(jí),左子級(jí)進(jìn)入隊(duì)列

if(P->rchild)enqueue(Q,P->rchild)//如果有右子級(jí),右子級(jí)進(jìn)入隊(duì)列

while(!Queueempty(q))//如果隊(duì)列不為空,則序列遍歷{dequeue(q,P)//出隊(duì)列

visit(P->data)//訪問當(dāng)前節(jié)點(diǎn)

if(P->lchild)enqueue(q,P->lchild)//如果有左子級(jí),則左子級(jí)進(jìn)入隊(duì)列

if(P->rchild)enqueue(q,P->rchild)//如果有左子級(jí)右子,右子進(jìn)入隊(duì)列

}

destroy queue(q)//釋放隊(duì)列空間

return

這很詳細(xì)!你能理解的!加油

什么是樹的層次遍歷,要求通俗易懂?

二叉樹的層次遍歷是指從二叉樹的第一層(根節(jié)點(diǎn))開始,從上到下逐層遍歷。在同一層中,從左到右依次訪問節(jié)點(diǎn)。在逐層遍歷的過程中,從上到下,從左到右在同一層中訪問樹中的元素。其思想是:用一個(gè)隊(duì)列來保存當(dāng)前節(jié)點(diǎn)的左右子節(jié)點(diǎn),實(shí)現(xiàn)序列遍歷。在層次遍歷中,設(shè)置了一個(gè)隊(duì)列結(jié)構(gòu)。遍歷從二叉樹的根節(jié)點(diǎn)開始。首先,將根節(jié)點(diǎn)指向隊(duì)列,然后從隊(duì)列的頭部獲取元素。對(duì)于每個(gè)元素,將執(zhí)行以下兩個(gè)操作:1。訪問元素所指向的節(jié)點(diǎn)。2如果元素指示的節(jié)點(diǎn)的左、右子節(jié)點(diǎn)不為空,則元素指示的節(jié)點(diǎn)的左子指針和右子指針將按順序排隊(duì)。當(dāng)隊(duì)列為空時(shí),二叉樹的層次遍歷結(jié)束。由于遍歷所使用的數(shù)據(jù)結(jié)構(gòu)是一個(gè)隊(duì)列而不是一個(gè)堆棧,因此很難編寫分層遍歷的遞歸程序。下面的程序是用來逐層遍歷二叉樹的,它使用的是隊(duì)列數(shù)據(jù)結(jié)構(gòu)。隊(duì)列中的元素指向二叉樹節(jié)點(diǎn)。當(dāng)然,您也可以使用公式化隊(duì)列。在程序中,只有當(dāng)樹不為空時(shí),它才進(jìn)入wehile循環(huán)。首先訪問根節(jié)點(diǎn),然后將其子節(jié)點(diǎn)添加到隊(duì)列中。當(dāng)queue add操作失敗時(shí),add將引發(fā)nomem異常。因?yàn)闆]有捕獲異常,所以當(dāng)異常發(fā)生時(shí),函數(shù)將退出。將T的子元素添加到隊(duì)列后,T元素將從隊(duì)列中刪除。

層序遍歷二叉樹與經(jīng)典遞歸遍歷的性能差距多大?

遞歸遍歷二叉樹程序很短,容易理解。在性能方面,遞歸速度快,占用內(nèi)存少。但遞歸程序包含深度優(yōu)先和廣度優(yōu)先的遍歷方法,比較復(fù)雜,容易出錯(cuò)。

現(xiàn)在CPU速度非???,堆棧空間非常大。性能差異可以忽略不計(jì)。

或遞歸遍歷二叉樹程序可讀性更好。