<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      大根堆和小根堆在海量數(shù)據(jù)的top N問題中,時(shí)間復(fù)雜度O(nlogN)

      堆可視化操作演示:https://visualgo.net/zh/heap

      堆實(shí)際上是一棵完全二叉樹,其任何一非葉節(jié)點(diǎn)滿足性質(zhì):
      小根堆:Key[i]<=key[2i+1]&&Key[i]<=key[2i+2] 或者 大根堆 Key[i]>=Key[2i+1]&&key>=key[2i+2]

      即任何一非葉節(jié)點(diǎn)的關(guān)鍵字不大于或者不小于其左右孩子節(jié)點(diǎn)的關(guān)鍵字。


      堆分為大根堆和小根堆:
      滿足Key[i]>=Key[2i+1]&&key>=key[2i+2]稱為大根堆(Max-heap),
      滿足 Key[i]<=key[2i+1]&&Key[i]<=key[2i+2]稱為小根堆(Min-heap)。
      由上述性質(zhì)可知大根堆的堆頂?shù)年P(guān)鍵字肯定是所有關(guān)鍵字中最大的,小根堆的堆頂?shù)年P(guān)鍵字是所有關(guān)鍵字中最小的。

       

       

      其中,大根堆和小根堆在海量數(shù)據(jù)的top N問題中,有著很好的時(shí)間復(fù)雜度。

      利用小根堆解決獲取大量數(shù)據(jù)中最小的N個(gè)值
      利用大根堆解決獲取大量數(shù)據(jù)中最大的N個(gè)值

      調(diào)整一次的時(shí)間復(fù)雜度是O(logN)。所以,通過堆來解決top N 問題的時(shí)間復(fù)雜度是O(nlogN)
      其中,n為數(shù)據(jù)的個(gè)數(shù),N為堆維護(hù)的數(shù)據(jù)的個(gè)數(shù)。
      ==================

      實(shí)現(xiàn)堆,最關(guān)鍵的是對(duì)元素的移動(dòng)(上濾和下濾)。所有函數(shù)都是基于這兩種操作完成的。

      binary heap的定義在維基百科中, sift-up 也稱為 up-heap 操作,sift-down 稱為 down-heap。
      sift篩選
      heapq.py中,
      down指的是從堆底到堆頂?shù)倪^程,指的是元素的索引小了,down了。反過來,up就是堆頂?shù)蕉训椎倪^程,索引大了,up了。
      _siftdown函數(shù):將元素向堆頂移動(dòng)到符合條件為止

      posted @ 2023-06-22 21:52  sangern  閱讀(349)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲精品国产av成拍色拍个| 旬阳县| 亚洲中文字幕乱码一区| 亚洲国产综合性亚洲综合性| 99re在线视频观看| 一区二区中文字幕av| 日韩av高清在线看片| 在线中文字幕国产一区| 衣服被扒开强摸双乳18禁网站| av激情亚洲男人的天堂| 亚洲一区中文字幕人妻| 土默特右旗| 亚洲精品国产无套在线观| 亚洲夜色噜噜av在线观看| 亚洲一区二区经典在线播放| 国产中文字幕在线精品| 五月婷婷久久中文字幕| 亚洲精品网站在线观看不卡无广告| 吉安县| 中文字幕国产精品一区二| 日韩中文字幕人妻精品| 五月婷婷久久草| 老色99久久九九爱精品| 国产成人午夜福利在线播放| 欧美性白人极品hd| 久久亚洲精品国产精品| 亚洲欧美高清在线精品一区二区| 色国产视频| 免费无码又爽又刺激成人| 亚洲自拍偷拍中文字幕色| 日本另类αv欧美另类aⅴ| 欧美成人午夜在线观看视频| 麻豆一区二区中文字幕| 伊人久久大香线蕉aⅴ色| 国产超碰无码最新上传| 亚洲第一区二区快射影院| 天天拍夜夜添久久精品大| 平阴县| 亚洲欧美人成人让影院| 丰满人妻AV无码一区二区三区 | 蜜桃视频无码区在线观看 |