中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      堆的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不卡一区二区| 国产精品国产三级国产av主| 日本口爆吞精在线视频| 97久久久人妻精品区一| 亚洲国产成人aⅴ毛片大全| 中国免费一级毛片| 京山县| 玉树县| 国产成人精品蜜芽视频| 国语精品视频在线观看不卡| 久久国产精品老人性| 国产青青草自拍视频在线播放| 中国少妇久久一区二区| 民权县| 晴隆县| 澄城县| 中国少妇精品偷拍视频| 色偷偷女人的天堂亚洲网| 亚洲免费视频网站在线| 蜜臀av一区二区三区人妻在线| 亚洲综合一区二区三区蜜臀av| 亚洲精品无人区一区二区三区| 国产麻豆放荡av激情演绎| 亚洲一区二区三区无吗| 99国产精品无码专区| 久久精品国产精品亚洲婷婷| 538在线视频| 一区二区三区四区亚洲综合| 久久精品国产88久久综合| 最新欧美一级视频|