js二叉樹的遍歷算法是怎樣的-創(chuàng)新互聯(lián)

js二叉樹的遍歷算法是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都自上料攪拌車小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

二叉樹的遍歷算法有什么

二叉樹吶,有三種遍歷算法,1:中序遍歷,2:先序遍歷,3:后序遍歷。在我們看具體實(shí)現(xiàn)之前,我們想下為什么要這樣做?二叉樹廣泛應(yīng)用于大量數(shù)據(jù)查找的業(yè)務(wù)中,可以實(shí)現(xiàn)更高效率的查找。

1:中序遍歷,即先查找左節(jié)點(diǎn),接著查找根節(jié)點(diǎn),最后查找右節(jié)點(diǎn)。不論中序,先序,后序都是以根節(jié)點(diǎn)為依據(jù)的。下面上代碼

functioninOrder(node){

if(!node===null&&nodeinstanceofBst)

inOrder(node.left)

console.log(node.data)

inOrder(node.right)

}

2:先序遍歷:

functioninOrder(node){

if(!node===null&&nodeinstanceofBst)

console.log(node.data)

inOrder(node.left)

inOrder(node.right)

}

后序遍歷類似,相信大家也能招到一定規(guī)律了。

二叉樹的遍歷概念

首先我們要知道前序遍歷:中序遍歷,后序遍歷的概念:

前序遍歷:從雙親節(jié)點(diǎn)開始,遍歷左樹,再遍歷右樹;

中序遍歷:從左樹開始,再遍歷雙親節(jié)點(diǎn),最后遍歷右樹;

后序遍歷:從左樹開始,再遍歷右樹,最后遍歷雙親節(jié)點(diǎn);

核心算法很簡(jiǎn)單:創(chuàng)建一個(gè)數(shù)組,將當(dāng)前的節(jié)點(diǎn)遞歸,算法不同處只是在于數(shù)組加入node節(jié)點(diǎn)的次序不一樣:

//前序算法

functionbeforeErgodic(node){

if(!!node){

arr.push(node);

beforeErgodic(node.firstElementChild);

beforeErgodic(node.lastElementChild);

}

}

//中序算法

functionmiddleErgodic(node){

if(!!node){

middleErgodic(node.firstElementChild);

arr.push(node);

middleErgodic(node.lastElementChild);

}

}

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。

本文名稱:js二叉樹的遍歷算法是怎樣的-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article4/ejioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、品牌網(wǎng)站制作、電子商務(wù)、網(wǎng)站導(dǎo)航、軟件開發(fā)網(wǎng)站策劃

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)