<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 堆的javascript實現方法

    時間:2024-10-02 05:38:24 JavaScript 我要投稿
    • 相關推薦

    堆的javascript實現方法

      堆的定義

      最大(最小)堆是一棵每一個節點的鍵值都不小于(大于)其孩子(如果存在)的鍵值的樹。大頂堆是一棵完全二叉樹,同時也是一棵最大樹。小頂堆是一棵完全完全二叉樹,同時也是一棵最小樹。

      另外,記住這兩個概念,對寫代碼太重要了:

      1、父節點和子節點的關系:看定義

      2、完全二叉樹:參考[2]

      基本操作

      1、Build(構建堆)

      2、Insert(插入)

      3、Delete(刪除:最小或者最大的那個)

      代碼實現

      首先,寫代碼前有兩個非常重要的點:

      1、用一個數組就可以作為堆的存儲結構,非常簡單而且易操作;

      2、另外同樣因為是數組作為存儲結構,所以父子節點之間的關系就能根據索引就輕松找到對方了。

      對于JavaScript以0作為數組索引開始,關系如下:

      nLeftIndex = 2 * (nFatherIndex+1) - 1;nRightIndex = 2* (nFatherIndex+1);

      前面提到注意兩個概念,是有助于理解的:

      1、因為是數組,所以父子節點的關系就不需要特殊的結構去維護了,索引之間通過計算就可以得到,省掉了很多麻煩。如果是鏈表結構,就會復雜很多;

      2、完全二叉樹的概念可以參考[2],要求葉子節點從左往右填滿,才能開始填充下一層,這就保證了不需要對數組整體進行大片的移動。這也是隨機存儲結構(數組)的短板:刪除一個元素之后,整體往前移是比較費時的。這個特性也導致堆在刪除元素的時候,要把最后一個葉子節點補充到樹根節點的緣由

      關于JavaScript的幾點小結

      這里是采用面向對象的一種實現方法,感覺上不是太優雅,不知道還有沒有更好的表示方法和寫法;

      學習了數組的幾個用法:push和pop的操作太好用了;

      判斷數組的方式也是臨時從網上搜的(instanceof),印象不深刻,不用的話下次估計還是有可能忘掉。

      參考

      [1]《數據結構和算法分析:C語言描述》

      [2]圖解數據結構(8)——二叉堆

      [3]數據結構:堆

    【堆的javascript實現方法】相關文章:

    JavaScript類定義原型方法的兩種實現的區別07-11

    JavaScript實現網頁刷新代碼段08-07

    JavaScript常用方法匯總10-25

    JavaScript數組常用方法介紹09-04

    javascript跨域訪問的方法07-09

    javascript編程異常處理的方法08-04

    JavaScript fontcolor方法入門實例07-07

    使用ajax操作JavaScript對象的方法09-28

    堆漆裝飾的技術方法06-26

    常用排序算法之JavaScript實現代碼段06-04

    主站蜘蛛池模板: av国内精品久久久久影院| 午夜精品福利视频| 久久国产精品99精品国产987| 日韩视频中文字幕精品偷拍| 亚洲国产精品久久久久婷婷老年| 亚洲精品国精品久久99热一| 国产香蕉国产精品偷在线观看| 国产精品丝袜一区二区三区 | 欧美国产日韩精品| 精品一区二区三区自拍图片区| 亚洲精品无码午夜福利中文字幕| 丰满人妻熟妇乱又伦精品劲| 国产成人精品亚洲日本在线| 久久精品亚洲中文字幕无码麻豆| 免费人欧美日韩在线精品| 国产精品99久久久久久www| 老司机69精品成免费视频| 国产一精品一AV一免费| 色婷婷在线精品国自产拍| 亚洲?V乱码久久精品蜜桃 | 国产精品福利区一区二区三区四区 | 国内精品久久久久久野外| 少妇人妻偷人精品视频| 亚洲精品国产综合久久一线| 久久久不卡国产精品一区二区| 国产精品乱视频| 国产精品99| 国产精品日韩深夜福利久久| 亚洲国产精品久久久久网站| 午夜天堂精品久久久久| 国产99精品一区二区三区免费| 久久精品国产秦先生| 99在线精品视频| 国产精品欧美日韩| 精品偷自拍另类在线观看| 亚洲AV无码精品色午夜果冻不卡 | 中文精品无码中文字幕无码专区| 久久夜色精品国产亚洲av| 国产精品自在欧美一区| 久久精品国产99久久香蕉| 麻豆国内精品久久久久久|