JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的查找算法示例
本文實例講述了JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的查找算法。分享給大家供大家參考,具體如下:
前面文章介紹了二叉樹的遍歷,現(xiàn)在談?wù)勗诙鏄渲羞M(jìn)行查找。對二叉查找樹來說,一般有以下三類查找:最大值,最小值和給定值。
查找最小值就是遍歷左子樹,直到找到最后一個結(jié)點,這是因為在二叉查找樹中較小的值總是在左子節(jié)點上的。
代碼如下:
function getMin(){//查找最小值
var current=this.root;//指向根節(jié)點
while(current.left!=null){
current=current.left;
}
return current.data;
}
同理可得查找最大值的代碼如下:
function getMax(){//查找最大值
var current=this.root;
while(current.right!=null){//如果未找到右結(jié)點則一直找
current=current.right;
}
return current.data;
}
而在二叉查找樹中查找指定值也不難,就是依次判斷節(jié)點值的查找值的大小,如果節(jié)點值小,則繼續(xù)往右查找,如果節(jié)點值大,則繼續(xù)往左查找,代碼如下:
function find(data){//查找某個值
var current=this.root;
while(current!=null){
if(current.data==data){
return current;
}else if(current.data>data){//如果節(jié)點值比尋找值大,則往左找
current=current.left;
}else{//如果節(jié)點值比尋找值小,則往右找
current=current.right;
}
}//如果沒找到則返回null
return null;
}
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JS實現(xiàn)二叉查找樹的建立以及一些遍歷方法實現(xiàn)
- JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉查找樹的定義與表示方法
- JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹實現(xiàn)查找最小值、最大值、給定值算法示例
- JavaScript實現(xiàn)二叉樹定義、遍歷及查找的方法詳解
- JS實現(xiàn)的二叉樹算法完整實例
- JavaScript實現(xiàn)二叉樹的先序、中序及后序遍歷方法詳解
- javascript實現(xiàn)二叉樹遍歷的代碼
- Javascript實現(xiàn)從小到大的數(shù)組轉(zhuǎn)換成二叉搜索樹
- JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的刪除算法示例
- JavaScript實現(xiàn)的DOM樹遍歷方法詳解【二叉DOM樹、多叉DOM樹】
- JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的遍歷算法示例
- JS中的算法與數(shù)據(jù)結(jié)構(gòu)之二叉查找樹(Binary Sort Tree)實例詳解
相關(guān)文章
JavaScript實現(xiàn)標(biāo)題欄文字輪播效果代碼
這篇文章主要介紹了JavaScript實現(xiàn)標(biāo)題欄文字輪播效果代碼,涉及JavaScript基于時間函數(shù)及流程控制操作標(biāo)題欄文字的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
artDialog+plupload實現(xiàn)多文件上傳
這篇文章主要介紹了artDialog+plupload實現(xiàn)多文件上傳的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
JS關(guān)閉窗口或JS關(guān)閉頁面的幾種代碼分享
這篇文章介紹了JS關(guān)閉窗口或JS關(guān)閉頁面的幾種代碼,有需要的朋友可以參考一下2013-10-10
javascript 動態(tài)修改css樣式方法匯總(四種方法)
為了達(dá)到某種特殊的效果我們需要用Javascript動態(tài)的去更改某一個標(biāo)簽的Css屬性,如何動態(tài)修改css樣式呢?面對這個問題,小編帶領(lǐng)大家來解決javascript動態(tài)修改css樣式,小伙伴們都快來學(xué)習(xí)吧2015-08-08

