欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的查找算法示例

 更新時(shí)間:2017年04月13日 09:35:51   作者:布瑞澤的童話  
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的查找算法,結(jié)合具體實(shí)例形式分析了javascript針對(duì)二叉樹節(jié)點(diǎn)最小值、最大值的相關(guān)查找操作實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的查找算法。分享給大家供大家參考,具體如下:

前面文章介紹了二叉樹的遍歷,現(xiàn)在談?wù)勗诙鏄渲羞M(jìn)行查找。對(duì)二叉查找樹來說,一般有以下三類查找:最大值,最小值和給定值。

查找最小值就是遍歷左子樹,直到找到最后一個(gè)結(jié)點(diǎn),這是因?yàn)樵诙娌檎覙渲休^小的值總是在左子節(jié)點(diǎn)上的。

代碼如下:

function getMin(){//查找最小值
    var current=this.root;//指向根節(jié)點(diǎn)
    while(current.left!=null){
      current=current.left;
    }
    return current.data;
}

同理可得查找最大值的代碼如下:

function getMax(){//查找最大值
  var current=this.root;
  while(current.right!=null){//如果未找到右結(jié)點(diǎn)則一直找
    current=current.right;
  }
  return current.data;
}

而在二叉查找樹中查找指定值也不難,就是依次判斷節(jié)點(diǎn)值的查找值的大小,如果節(jié)點(diǎn)值小,則繼續(xù)往右查找,如果節(jié)點(diǎn)值大,則繼續(xù)往左查找,代碼如下:

function find(data){//查找某個(gè)值
    var current=this.root;
    while(current!=null){
      if(current.data==data){
        return current;
      }else if(current.data>data){//如果節(jié)點(diǎn)值比尋找值大,則往左找
        current=current.left;
      }else{//如果節(jié)點(diǎn)值比尋找值小,則往右找
        current=current.right;
      }
    }//如果沒找到則返回null
    return null;
}

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 限制復(fù)選框最多選擇項(xiàng)的實(shí)現(xiàn)代碼

    限制復(fù)選框最多選擇項(xiàng)的實(shí)現(xiàn)代碼

    下面小編就為大家?guī)硪黄拗茝?fù)選框最多選擇項(xiàng)的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • JavaScript 防抖和節(jié)流詳解

    JavaScript 防抖和節(jié)流詳解

    這篇文章主要介紹了JavaScript 防抖和節(jié)流,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 寫了一個(gè)layout,拖動(dòng)條連貫,內(nèi)容區(qū)可為iframe

    寫了一個(gè)layout,拖動(dòng)條連貫,內(nèi)容區(qū)可為iframe

    寫了一個(gè)layout,拖動(dòng)條連貫,內(nèi)容區(qū)可為iframe...
    2007-08-08
  • 點(diǎn)擊標(biāo)簽切換和自動(dòng)切換DIV選項(xiàng)卡

    點(diǎn)擊標(biāo)簽切換和自動(dòng)切換DIV選項(xiàng)卡

    點(diǎn)擊標(biāo)簽切換DIV的效果,在很多地方都有見到過,而且實(shí)現(xiàn)的方法有很多,本例介紹的這個(gè)可以切換和自動(dòng)切換DIV選項(xiàng)卡
    2014-08-08
  • 使用JavaScript開發(fā)IE瀏覽器本地插件實(shí)例

    使用JavaScript開發(fā)IE瀏覽器本地插件實(shí)例

    這篇文章主要介紹了使用JavaScript開發(fā)IE瀏覽器本地插件實(shí)例,本文講解使用JS+注冊(cè)表的方式開發(fā)一個(gè)IE瀏覽器本地插件,需要的朋友可以參考下
    2015-02-02
  • 原生js+canvas實(shí)現(xiàn)貪吃蛇效果

    原生js+canvas實(shí)現(xiàn)貪吃蛇效果

    這篇文章主要為大家詳細(xì)介紹了原生js+canvas實(shí)現(xiàn)貪吃蛇效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JS實(shí)現(xiàn)分頁(yè)瀏覽橫向圖片(類輪播)實(shí)例代碼

    JS實(shí)現(xiàn)分頁(yè)瀏覽橫向圖片(類輪播)實(shí)例代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)分頁(yè)瀏覽橫向圖片(類輪播)實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-11-11
  • JS獲取時(shí)間的方法

    JS獲取時(shí)間的方法

    這篇文章主要介紹了JS獲取時(shí)間的方法,涉及date的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 最新評(píng)論