如何進(jìn)行分層遍歷二叉樹(shù)問(wèn)題,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阿爾山ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿爾山網(wǎng)站制作公司
初階:給一棵二叉樹(shù),按照層次進(jìn)行輸出,第一行輸出第一層的節(jié)點(diǎn),第二行輸出第二層,如此類推。
進(jìn)階:如果只給你O(h)的額外空間該怎么辦?(h為樹(shù)的高度)
答:
初階:采用寬度(廣度)優(yōu)先搜索算法BFS。用一個(gè)隊(duì)列存儲(chǔ)一層的節(jié)點(diǎn),通過(guò)一層節(jié)點(diǎn)擴(kuò)展出下一層節(jié)點(diǎn)。實(shí)現(xiàn)的時(shí)候有兩種方式:一種方式是隊(duì)列中同時(shí)存儲(chǔ)層數(shù),發(fā)現(xiàn)層數(shù)不同了,就換行輸出;另一種方式是記錄每一層的頭尾,多套一層循環(huán)輸出每一層。時(shí)間復(fù)雜度O(n),空間復(fù)雜度O(n)
進(jìn)階:采用迭代搜索。迭代搜索的意思是,設(shè)定一個(gè)層數(shù)限制x,利用深度優(yōu)先搜索的方式往下搜索,每次搜到x這一層就不再往下繼續(xù)遞歸了。通過(guò)逐漸放寬x來(lái)實(shí)現(xiàn)每一層的搜索,也就是x從1到h進(jìn)行枚舉(h為樹(shù)的高度)。時(shí)間復(fù)雜度O(nh),空間復(fù)雜度O(h)。迭代搜索是常用的在空間不足的情況下替代寬度優(yōu)先搜索的方法。是一種用時(shí)間換取空間的方法。
關(guān)于如何進(jìn)行分層遍歷二叉樹(shù)問(wèn)題問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
新聞名稱:如何進(jìn)行分層遍歷二叉樹(shù)問(wèn)題
URL標(biāo)題:http://aaarwkj.com/article8/gopoip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、搜索引擎優(yōu)化、、網(wǎng)站改版、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)