青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 183,  comments - 10,  trackbacks - 0

面試題 100 —— 5 查找 Top K

這里的做法是利用一個堆,用這個堆作為 K 個元素的輸出容器,堆的特點是可以以 O(1) 的效率去堆中最大/小的元素。
正式利用了這一點,這種方法的時間復雜度為 O(NlogK)

查找最小的 K 個數
利用最大堆
思路時,開始的時候堆為空,堆中元素個數還不足 K 個,所以遍歷的當前元素直接加入到堆中
當堆中元素等于 K 的時候,檢查當前元素與堆中最大元素的大小關系,若大于最大元素則忽略,否則將堆中最大元素刪除,并將當前元素添加到堆中。
整個過程,遍歷一遍集合,每次針對當前元素需要對堆進行調整,總的時間復雜度為 O(NlogK)

http://www.shnenglu.com/jake1036/archive/2011/05/16/146466.html

代碼實現:

 1 #include <iostream>
 2 #include <vector>
 3 #include <set>
 4 using namespace std;
 5 
 6 typedef vector<int> dataset;
 7 typedef multiset<int, greater<int> > bigheap;
 8 
 9 void findTopK(bigheap& bh, const dataset& ds, int k)
10 {
11  bh.clear();
12  for (dataset::const_iterator cit = ds.begin(); cit != ds.end(); ++cit)
13  {
14   if (bh.size() < k)
15   {
16    bh.insert(*cit);
17   }
18   else
19   {
20    bigheap::iterator it = bh.begin();
21    if (*it > *cit)
22    {
23     bh.erase(it);
24     bh.insert(*cit);
25    }
26   }
27  }
28 }
29 
30 int main()
31 {
32  dataset ds;
33  for (int i = 100; i != 0--i)
34  {
35   ds.push_back(i);
36  }
37  bigheap bh;
38  findTopK(bh, ds, 10);
39  for (bigheap::const_iterator cit = bh.begin(); cit != bh.end(); ++cit)
40  {
41   cout << *cit << endl;
42  }
43  return 0;
44 }
45 
46 


posted on 2011-07-12 17:46 unixfy 閱讀(316) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            激情婷婷欧美| 欧美激情小视频| 女人天堂亚洲aⅴ在线观看| 久久精品国产欧美亚洲人人爽| 亚洲视频一起| 性久久久久久久| 久久精品在线播放| 欧美国产一区二区| 亚洲免费观看视频| 亚洲无线一线二线三线区别av| 亚洲综合日韩| 久久久久久综合| 欧美sm极限捆绑bd| 国产精品va在线播放| 国产一区999| 亚洲人成毛片在线播放| 亚洲尤物视频在线| 免费观看日韩av| 99re视频这里只有精品| 久久黄金**| 亚洲第一区中文99精品| 最新热久久免费视频| a4yy欧美一区二区三区| 亚洲欧美春色| 在线亚洲美日韩| 玖玖综合伊人| 久久综合999| 欧美日本韩国一区| 国产欧美三级| 欧美日韩精品免费看| 国产精品欧美日韩一区二区| 狠狠久久亚洲欧美专区| 一区二区三区国产盗摄| 久久手机精品视频| 一本色道久久综合狠狠躁篇的优点 | 免费黄网站欧美| 妖精视频成人观看www| 久久久久欧美精品| 国产伦精品一区二区三区视频黑人| 亚洲国产91| 久久久久一区二区三区| 中文在线资源观看网站视频免费不卡| 欧美在线关看| 国产精品网曝门| 亚洲午夜日本在线观看| 亚洲韩国青草视频| 久久精品国产亚洲精品| 亚洲欧美日韩精品久久亚洲区| 亚洲天堂男人| 欧美激情欧美狂野欧美精品| 性刺激综合网| 国产精品久久久久久久久搜平片| 亚洲精品在线二区| 欧美xxxx在线观看| 久久国产主播精品| 国产一级精品aaaaa看| 国产一区二区三区电影在线观看| 亚洲国产成人久久综合| 亚洲欧美成人| 亚洲精品美女久久久久| 男女激情视频一区| 亚洲日本无吗高清不卡| 亚洲国产成人高清精品| 国产精品午夜视频| 欧美人成免费网站| 国产精品高潮呻吟| 一本大道久久a久久精品综合 | 欧美精品一区二区三区在线看午夜 | 国产美女在线精品免费观看| 国产精品99久久久久久白浆小说 | 免费中文日韩| 亚洲精品一区二区在线| 亚洲激情在线观看| 欧美日韩伊人| 亚洲女女女同性video| 亚洲欧美日韩精品综合在线观看| 国产精一区二区三区| 久久精品国产免费观看| 久久久久国产精品一区二区| 在线观看日韩av先锋影音电影院| 亚洲国产成人久久综合一区| 欧美日韩理论| 久久精品在这里| 欧美r片在线| 午夜国产精品影院在线观看| 欧美伊人久久久久久久久影院| 影音先锋另类| 99国产精品久久久久久久久久| 国产精品无码永久免费888| 久久久久久午夜| 欧美激情视频给我| 夜夜夜精品看看| 亚洲大片在线| 亚洲电影中文字幕| 国产精品v欧美精品v日韩| 久久精品av麻豆的观看方式| 美女精品一区| 午夜亚洲性色视频| 久久综合图片| 亚洲欧美日韩国产| 久久一区中文字幕| 亚洲一区二区在| 久久影视三级福利片| 亚洲在线免费观看| 先锋影音网一区二区| 久久国产精品第一页 | 一区二区三区日韩精品| 午夜久久福利| 一区二区成人精品| 久久久久久自在自线| 午夜欧美大尺度福利影院在线看| 久久免费视频观看| 久久不射网站| 国产精品久久午夜| 亚洲欧洲精品一区二区| 黄色成人在线免费| 在线一区日本视频| 亚洲另类自拍| 老司机凹凸av亚洲导航| 久久久久久久久久看片| 国产精品网站在线观看| 夜夜狂射影院欧美极品| 亚洲美女黄网| 欧美刺激性大交免费视频| 久久综合图片| 狠狠色狠狠色综合系列| 欧美一区二区三区成人| 欧美一区二区三区视频在线观看| 欧美精品播放| 亚洲欧洲在线一区| 日韩一本二本av| 欧美成ee人免费视频| 欧美不卡视频| 亚洲欧洲精品一区二区三区| 久久久免费av| 欧美成人精品不卡视频在线观看| 国产亚洲欧美一级| 欧美在线高清视频| 蜜臀91精品一区二区三区| 影音先锋亚洲视频| 免费久久精品视频| 91久久国产精品91久久性色| 亚洲精品永久免费精品| 欧美日韩亚洲网| 亚洲视频在线一区| 久久成人免费网| 黑人一区二区三区四区五区| 久久久精品日韩| 欧美激情中文不卡| 日韩亚洲国产欧美| 国产精品v日韩精品| 午夜久久影院| 欧美aa在线视频| 日韩午夜免费视频| 国产精品第一区| 欧美一区激情| 亚洲东热激情| 亚洲女女做受ⅹxx高潮| 性久久久久久久| 亚洲另类一区二区| 亚洲美女色禁图| 亚洲欧美综合另类中字| 久久久之久亚州精品露出| 在线观看成人av电影| 欧美国产综合视频| 亚洲女女女同性video| 老司机67194精品线观看| 欧美激情综合五月色丁香| 欧美日韩精品三区| 午夜日韩电影| 亚洲精品一区二区三区福利| 麻豆免费精品视频| 欧美中文在线视频| 亚洲人成在线观看网站高清| 亚洲视频在线观看三级| 久久夜色精品亚洲噜噜国产mv| 欧美激情小视频| 亚洲性夜色噜噜噜7777| 国产日韩在线不卡| 欧美成人综合在线| 午夜精品免费| 91久久国产综合久久91精品网站| 欧美亚洲色图校园春色| 亚洲国产一区二区三区a毛片| 国产精品色网| 欧美日韩美女| 另类天堂视频在线观看| 亚洲免费中文| 在线亚洲电影| 亚洲国产高清aⅴ视频| 久久精品视频在线观看| 中文欧美日韩| 亚洲毛片在线观看.| 狠狠噜噜久久| 国产偷自视频区视频一区二区| 欧美日韩中文字幕精品| 欧美成人第一页| 久久久九九九九| 欧美伊久线香蕉线新在线| 亚洲天堂av综合网|