卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

簡(jiǎn)述對(duì)dom樹(shù)的理解 請(qǐng)教一下數(shù)據(jù)結(jié)構(gòu),二叉樹(shù)的先序遍歷,中序遍歷,后序遍歷,是怎么弄的?

請(qǐng)教一下數(shù)據(jù)結(jié)構(gòu),二叉樹(shù)的先序遍歷,中序遍歷,后序遍歷,是怎么弄的?前序遍歷:其思想是先遍歷當(dāng)前節(jié)點(diǎn),然后遍歷左子樹(shù)。然后遍歷右子樹(shù)。所以您需要記錄右子樹(shù)的根節(jié)點(diǎn),并等待它被取出以遍歷右子樹(shù)。如果堆棧

請(qǐng)教一下數(shù)據(jù)結(jié)構(gòu),二叉樹(shù)的先序遍歷,中序遍歷,后序遍歷,是怎么弄的?

前序遍歷:其思想是先遍歷當(dāng)前節(jié)點(diǎn),然后遍歷左子樹(shù)。然后遍歷右子樹(shù)。所以您需要記錄右子樹(shù)的根節(jié)點(diǎn),并等待它被取出以遍歷右子樹(shù)。

如果堆棧不為空或節(jié)點(diǎn)指針不為空,則進(jìn)入循環(huán)

如果當(dāng)前節(jié)點(diǎn)不為空,則先將右側(cè)子節(jié)點(diǎn)放入堆棧(無(wú)論右側(cè)節(jié)點(diǎn)是否為空),然后輸出當(dāng)前節(jié)點(diǎn)。賦值節(jié)點(diǎn)指針是左子節(jié)點(diǎn)。

如果當(dāng)前節(jié)點(diǎn)為空。取出堆棧中的節(jié)點(diǎn)。

我懶得在后面寫(xiě)。有時(shí)間就寫(xiě)。

不建議業(yè)主問(wèn)這種問(wèn)題,但愿意回答的人不多。我想你可以問(wèn):我在哪里可以得到帶注釋的XXX源代碼

好吧,你的第一步是正確劃分a作為根,DGB作為左子樹(shù),echf作為右子樹(shù)。接下來(lái),將左子樹(shù)的前序遍歷看作bdgb。首先知道B是左子樹(shù)的根,與A相連,然后看左子樹(shù)的中序遍歷,dgbd和G在B之前被訪問(wèn),所以B和G應(yīng)該在B的左子樹(shù)中被訪問(wèn)樹(shù)的形狀如下--A-/--B-/DG,DG的確定是根據(jù)預(yù)購(gòu)單。如果首先訪問(wèn)D,則D是根。如果首先訪問(wèn)D,則可以確定G為D的右子樹(shù)的左側(cè)。如果你理解上面的右邊,那就很簡(jiǎn)單了。對(duì)于前序遍歷CEFH也是如此,以確定C是右子樹(shù)的根。然后預(yù)序遍歷echfe是C的左子樹(shù),HF是C的右子樹(shù)確保在查看預(yù)序遍歷之前,先訪問(wèn)f,f是根,h先訪問(wèn),h的左子樹(shù)是f。整個(gè)樹(shù)將顯示出來(lái),如下圖所示。后序是小菜一碟

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