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

Problem Solving using C++

Algorithm Study using C++

partial_sort--基于堆排序

經常會出現求n個數中的前k個最小值(最大值),可以采取的策略為:

看n和k的大小,數組的規律。即便看情況也不一定有絕對的“最優"
如果是基本有序的,那么就用Hoare的算法,每次選中間位置的數當軸。
如果k或(n-k)是小常數,那么部分排序算法,比如用堆。
如果要抵抗算法復雜度攻擊,那么可以考慮隨機Hoare或者linear time selection.
在k為小值的時候,可以采用基于堆排序的部分排序方法:
代碼如下:
#include <iostream>
#include 
<cstdlib>
#include 
<algorithm>
#include 
<iterator>

using namespace std;

void min_heapify(int arr[],int i,int size)
{
    
int left = 2*i+1;
    
int right = left+1;

    
int largest;

    
if((left<=size)&&(arr[left]>arr[i]))
    {
        largest 
= left;
    }
    
else
    {
        largest 
= i;
    }

    
if((right<=size)&&(arr[right]>arr[largest]))
    {
        largest 
= right;
    }

    
if(largest!=i)
    {
        
int temp = arr[i];
        arr[i]
=arr[largest];
        arr[largest]
=temp;

        min_heapify(arr,largest,size);
    }
}

void fillarray(int arr[],int size)
{
    
for(int i=0;i<size;i++)
    {
        arr[i]
=rand()%size;
    }
}

void print(const int arr[],int size)
{
    copy(arr,arr
+size,ostream_iterator<int>(cout," "));
    cout
<<endl;
}

int main(int argc,char* argv[])
{
    
int size,k;

    
while(cin>>size)
    {
        
int* buff=new int[size];

        fillarray(buff,size);
        print(buff,size);

        cout
<<"Please input the top k value:"<<endl;
        cin
>>k;

        
for(int i=(k-1)/2;i>=0;i--)
            min_heapify(buff,i,k
-1);

        print(buff,size);
        cout
<<endl<<endl;
        
for(int i=size-1;i>=k;i--)
        {
            
if(buff[i]<buff[0])
            {
                
int temp = buff[0];
                buff[
0]=buff[i];
                buff[i]
=temp;
    
                min_heapify(buff,
0,k-1);
            }
        }

        print(buff,size);

        delete [] buff;
    }
}


posted on 2007-08-27 22:49 Kingoal Lee's Alogrithm Study using cplusplus 閱讀(427) 評論(0)  編輯 收藏 引用

My Links

Blog Stats

常用鏈接

留言簿(1)

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美经典一区二区| 99re热精品| 亚洲免费av观看| 亚洲韩国青草视频| 亚洲第一黄色网| 91久久国产综合久久蜜月精品| 亚洲国产专区| 亚洲一区二区伦理| 久久久777| 欧美福利一区二区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲日本va在线观看| 亚洲精品视频在线| 亚洲图片欧洲图片av| 欧美自拍偷拍午夜视频| 欧美成人综合在线| 国产精品久久久久影院亚瑟| 国内精品福利| 一本色道久久99精品综合| 久久精品盗摄| 日韩视频一区二区在线观看 | 欧美经典一区二区| 国产乱人伦精品一区二区| 韩国亚洲精品| 亚洲欧美不卡| 亚洲国产精品一区二区三区| 亚洲免费婷婷| 欧美人与性动交a欧美精品| 国产日韩在线一区二区三区| 91久久在线观看| 久久精品国产久精国产爱| 亚洲国产日韩一区二区| 欧美亚洲视频一区二区| 欧美日韩色婷婷| 欧美国产日韩免费| 在线午夜精品| 久久免费视频观看| 在线亚洲欧美视频| 欧美91大片| 黄色成人在线网址| 香蕉成人啪国产精品视频综合网| 亚洲高清久久久| 欧美一区二区视频观看视频| 欧美手机在线视频| 99re热这里只有精品视频| 久久综合精品国产一区二区三区| 在线一区二区三区四区五区| 欧美激情自拍| 亚洲欧洲在线看| 麻豆成人在线观看| 久久精品99国产精品| 国产日韩欧美一区二区三区在线观看| 一本色道88久久加勒比精品| 亚洲成人资源网| 两个人的视频www国产精品| 韩国自拍一区| 老司机精品视频网站| 欧美一区日韩一区| 国产伦精品一区| 久久精品夜色噜噜亚洲a∨| 亚洲欧美日韩在线播放| 国产欧美日韩视频在线观看| 欧美在线视频不卡| 欧美一区二区三区四区在线| 好看不卡的中文字幕| 麻豆精品精华液| 美女视频黄 久久| 亚洲日韩成人| 一本一本久久a久久精品牛牛影视| 欧美视频一区在线| 久久精品综合一区| 久久综合电影一区| 亚洲精品你懂的| 亚洲毛片视频| 国产精品午夜春色av| 久久av老司机精品网站导航 | 久热精品在线视频| 亚洲日本va午夜在线电影| 亚洲三级色网| 国产精品欧美久久| 久久一区欧美| 免费成人高清| 亚洲一区二区在线免费观看视频| 亚洲综合色在线| 亚洲高清在线观看一区| 最新精品在线| 国产欧美二区| 亚洲电影在线看| 欧美日韩中文字幕精品| 久久精品论坛| 欧美另类videos死尸| 欧美在线精品一区| 欧美成人免费一级人片100| 亚洲男人的天堂在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久精品视频在线看| 欧美成人午夜激情在线| 亚洲一区二区三区精品在线观看| 香蕉久久夜色精品国产| 亚洲激情在线视频| 亚洲欧美日韩精品久久久| 亚洲人成毛片在线播放| 亚洲在线免费观看| 亚洲精品欧美在线| 久久www成人_看片免费不卡| 日韩视频免费在线观看| 欧美在线|欧美| 亚洲永久免费精品| 裸体一区二区三区| 久久精品国产视频| 欧美日韩综合视频| 亚洲成色精品| 狠狠操狠狠色综合网| 亚洲一区久久久| 日韩视频免费观看高清完整版| 久久成人免费电影| 久久久精品tv| 国产精品久久久久免费a∨大胸| 欧美激情视频一区二区三区免费| 国产欧美一区二区三区久久人妖 | 久久国产精品免费一区| 欧美日韩一区三区| 亚洲国产日韩欧美综合久久| 在线不卡a资源高清| 午夜精品一区二区三区在线视| 一区二区三区高清不卡| 欧美大尺度在线观看| 欧美**人妖| 在线成人免费视频| 久久午夜视频| 玖玖视频精品| 韩日在线一区| 久久人人97超碰国产公开结果| 久久久之久亚州精品露出| 国产亚洲毛片| 久久本道综合色狠狠五月| 久久久久久夜| 亚洲国产成人精品女人久久久| 久久亚洲精品一区| 亚洲成人自拍视频| 夜夜嗨av一区二区三区网站四季av | 亚洲一区在线播放| 亚洲欧美日韩精品久久久久 | 亚洲精品综合| 欧美精品18+| 亚洲精选大片| 亚洲一区二区三区四区五区午夜 | 欧美日韩色综合| 亚洲亚洲精品三区日韩精品在线视频 | 在线视频一区观看| 欧美日韩三级| 亚洲欧美日韩精品久久奇米色影视| 在线视频亚洲欧美| 国产精品免费网站在线观看| 亚洲欧美在线aaa| 久久久精品日韩欧美| 亚洲国产成人av| 欧美日韩国产色综合一二三四 | 欧美高清视频免费观看| 日韩香蕉视频| 国产精品婷婷| 久久综合九色99| 日韩视频国产视频| 久久精品视频免费观看| 亚洲精品久久久久久久久久久久 | 欧美激情1区2区| 亚洲天堂久久| 国模私拍视频一区| 欧美精品国产| 午夜在线精品偷拍| 亚洲第一中文字幕| 久久激情五月婷婷| 99re热这里只有精品视频| 国产色视频一区| 欧美成人午夜免费视在线看片| 中文国产成人精品久久一| 久久在线播放| 亚洲欧美电影院| 亚洲国产国产亚洲一二三| 国产精品久久久久91| 美女诱惑黄网站一区| 亚洲欧美国产毛片在线| 亚洲电影激情视频网站| 久久爱91午夜羞羞| 亚洲私人影吧| 亚洲国产一区二区三区青草影视| 国产精品日本一区二区| 欧美高清视频| 久久亚洲二区| 亚洲欧美国产毛片在线| 日韩视频在线播放| 欧美大片91| 久久资源在线| 欧美在线视频全部完| 亚洲天堂成人| 99精品欧美一区| 亚洲精品欧美一区二区三区| 影音先锋久久| 精品成人久久| 国产欧美婷婷中文|