您好,登錄后才能下訂單哦!
本文實例講述了JavaScript數據結構之二叉樹的查找算法。分享給大家供大家參考,具體如下:
前面文章介紹了二叉樹的遍歷,現在談談在二叉樹中進行查找。對二叉查找樹來說,一般有以下三類查找:最大值,最小值和給定值。
查找最小值就是遍歷左子樹,直到找到最后一個結點,這是因為在二叉查找樹中較小的值總是在左子節點上的。
代碼如下:
function getMin(){//查找最小值 var current=this.root;//指向根節點 while(current.left!=null){ current=current.left; } return current.data; }
同理可得查找最大值的代碼如下:
function getMax(){//查找最大值 var current=this.root; while(current.right!=null){//如果未找到右結點則一直找 current=current.right; } return current.data; }
而在二叉查找樹中查找指定值也不難,就是依次判斷節點值的查找值的大小,如果節點值小,則繼續往右查找,如果節點值大,則繼續往左查找,代碼如下:
function find(data){//查找某個值 var current=this.root; while(current!=null){ if(current.data==data){ return current; }else if(current.data>data){//如果節點值比尋找值大,則往左找 current=current.left; }else{//如果節點值比尋找值小,則往右找 current=current.right; } }//如果沒找到則返回null return null; }
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。