五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

10.3線索化二叉樹(shù)

2022-01-01 17:06 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來(lái)自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫(xiě)在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)

本次作業(yè)完成了,有借鑒部分,跟著debug跑過(guò)一遍后能看懂,但是如果自己寫(xiě),還是有點(diǎn)難度

10.3.1先看一個(gè)問(wèn)題

將數(shù)列{1,3,6,8,10,14}構(gòu)建成一棵二叉樹(shù) n+1 = 7

1.????? 當(dāng)我們對(duì)上面的二叉樹(shù)進(jìn)行中序遍歷時(shí),數(shù)列為{8,3,10,1,6,14}

2.????? 但是6,8,10,14 這幾個(gè)節(jié)點(diǎn)的左右指針,并沒(méi)有完全的利用上.

3.????? 如果我們希望充分的利用各個(gè)節(jié)點(diǎn)的左右指針,讓各個(gè)節(jié)點(diǎn)可以指向自己的前后節(jié)點(diǎn),怎么辦?

4.????? 解決方案-線索二叉樹(shù)

10.3.2線索二叉樹(shù)的基本介紹

1.????? n個(gè)結(jié)點(diǎn)的二叉鏈表中含有n+1【公式2n-(n-1)=n+1】個(gè)空指針域。利用二叉鏈表中的空指針域,存放指向該結(jié)點(diǎn)在某種遍歷次序下的前驅(qū)和后繼結(jié)點(diǎn)的指針(這種附加的指針?lè)Q為"線索")

2.????? 這種加上了線索的二叉鏈表稱為線索鏈表,相應(yīng)的二叉樹(shù)稱為線索二叉樹(shù)(Threaded BinaryTree)。根據(jù)線索性質(zhì)的不同,線索二叉樹(shù)可分為前序線索二叉樹(shù)、中序線索二叉樹(shù)和后序線索二叉樹(shù)三種

3.????? 一個(gè)結(jié)點(diǎn)的前一個(gè)結(jié)點(diǎn),稱為前驅(qū)結(jié)點(diǎn)

4.????? 一個(gè)結(jié)點(diǎn)的后一個(gè)結(jié)點(diǎn),稱為后繼結(jié)點(diǎn)

10.3.3線索二叉樹(shù)的應(yīng)用案例

應(yīng)用案例說(shuō)明:將下面的二叉樹(shù),進(jìn)行中序線索二叉樹(shù)。中序遍歷的數(shù)列為{8,3,10,1,14,6}

思路分析 中序遍歷結(jié)果:{8,3,10,1,14,6}

說(shuō)明:當(dāng)線索化二叉樹(shù)后,Node節(jié)點(diǎn)的屬性left和right,有如下情況:

1.????? left 指向的是左子樹(shù),也可能是指向的前驅(qū)節(jié)點(diǎn).比如①節(jié)點(diǎn)left 指向的左子樹(shù),而⑩節(jié)點(diǎn)的 left 指向的就是前驅(qū)節(jié)點(diǎn).

2.????? right指向的是右子樹(shù),也可能是指向后繼節(jié)點(diǎn),比如①節(jié)點(diǎn)right 指向的是右子樹(shù),而⑩節(jié)點(diǎn)的right 指向的是后繼節(jié)點(diǎn).

代碼實(shí)現(xiàn)

10.3.4遍歷線索化二叉樹(shù)

1)說(shuō)明:對(duì)前面的中序線索化的二叉樹(shù),進(jìn)行遍歷

2)分析:因?yàn)榫€索化后,各個(gè)結(jié)點(diǎn)指向有變化,因此原來(lái)的遍歷方式不能使用,這時(shí)需要使用新的方式遍歷線索化二叉樹(shù),各個(gè)節(jié)點(diǎn)可以通過(guò)線型方式遍歷,因此無(wú)需使用遞歸方式,這樣也提高了遍歷的效率。遍歷的次序應(yīng)當(dāng)和中序遍歷保持一致。

3)代碼:

10.3.5線索化二叉樹(shù)課后作業(yè)

我這里講解了中序線索化二叉樹(shù),前序線索化二叉樹(shù)和后序線索化二叉樹(shù)的分析思路類似,同學(xué)們作為課后作業(yè)完成.

作業(yè)完成了,但是沒(méi)有完成,代碼上面有

借鑒了CSDN的一位大佬的解答

我根據(jù)大佬解答結(jié)合韓老師的代碼,才完成了這次作業(yè),運(yùn)行起來(lái)是沒(méi)有問(wèn)題了,理解起來(lái)還需要時(shí)間,主要是后序遍歷線索化樹(shù)有點(diǎn)難度

https://blog.csdn.net/UncleMing5371/article/details/54176252

https://blog.csdn.net/UncleMing5371/article/details/54291221

10.3線索化二叉樹(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
珲春市| 永宁县| 新营市| 那坡县| 凤冈县| 沙湾县| 临潭县| 昭苏县| 特克斯县| 新余市| 嘉义县| 凤山县| 津市市| 婺源县| 宾阳县| 鹤壁市| 宜兴市| 汝州市| 巴彦淖尔市| 梓潼县| 丰顺县| 瑞安市| 连城县| 忻城县| 砀山县| 博爱县| 寿阳县| 习水县| 临泉县| 福清市| 诏安县| 札达县| 惠安县| 抚顺县| 兴仁县| 扬州市| 乌兰察布市| 东光县| 禹州市| 楚雄市| 开原市|