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

Problem Solving using C++

Algorithm Study using C++

partial_sort--基于堆排序

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

看n和k的大小,數組的規(guī)律。即便看情況也不一定有絕對的“最優(yōu)"
如果是基本有序的,那么就用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>
            免费成人你懂的| 亚洲片在线观看| 蜜臀av性久久久久蜜臀aⅴ| 欧美一区免费视频| 欧美在线国产| 久久婷婷麻豆| 欧美精品在线观看91| 欧美香蕉视频| 国产欧美日韩综合一区在线观看 | 免费成人你懂的| 欧美日韩大片一区二区三区| 国产精品久久久免费| 国产在线日韩| 宅男在线国产精品| 久久精品动漫| 欧美黄色一级视频| 亚洲小说欧美另类社区| 久久天堂精品| 国产精品福利在线观看网址| 国产一区二区无遮挡| 亚洲精品中文在线| 久久精品亚洲| 日韩一区二区免费看| 久久成人精品视频| 欧美调教vk| 亚洲黄色视屏| 久久久久久高潮国产精品视| 日韩午夜激情| 麻豆精品在线播放| 国产麻豆综合| 亚洲永久免费精品| 亚洲国产精品电影在线观看| 午夜一区二区三区不卡视频| 欧美精品国产一区| 悠悠资源网亚洲青| 久久久不卡网国产精品一区| 一本大道久久a久久精二百| 麻豆精品精品国产自在97香蕉| 国产精品永久免费在线| 夜夜精品视频| 亚洲精品一级| 欧美第一黄网免费网站| 狠狠色丁香婷综合久久| 欧美一区二区视频在线观看2020| 日韩视频免费在线| 欧美麻豆久久久久久中文| 狠狠做深爱婷婷久久综合一区| 亚洲一区欧美二区| 一本一道久久综合狠狠老精东影业| 国产精品黄视频| 亚洲欧美日韩国产中文在线| 久久婷婷国产综合精品青草 | 亚洲激情六月丁香| 久久夜色精品国产| 精品999在线观看| 久久久久久夜| 久久久久久久91| 亚洲高清久久久| 蜜桃av一区二区| 久久精品国产亚洲精品| 国产综合18久久久久久| 久久综合九九| 免费h精品视频在线播放| 亚洲欧洲精品一区| 亚洲国产成人午夜在线一区| 毛片av中文字幕一区二区| 亚洲国产精品va在线看黑人| 亚洲国产激情| 欧美性感一类影片在线播放| 亚洲——在线| 亚洲一区二区三区高清| 国产亚洲网站| 欧美黄色视屏| 国产精品九九| 久久色中文字幕| 欧美激情第二页| 亚洲一级高清| 久久国产精品亚洲77777| 亚洲电影免费观看高清完整版在线 | 欧美一区二区三区日韩| 国际精品欧美精品| 欧美激情黄色片| 欧美视频在线观看视频极品| 欧美在线国产精品| 免费成年人欧美视频| 亚洲在线视频| 久久精品国产免费| 国产精品99久久久久久人| 亚洲欧美日韩综合| 亚洲国产日韩在线| 亚洲伊人观看| 亚洲三级色网| 久久爱www久久做| av成人黄色| 久久久亚洲高清| 亚洲男人的天堂在线| 久久久久综合| 久久国产乱子精品免费女 | 亚洲国产三级| 欧美激情欧美狂野欧美精品| 欧美在线免费| 欧美视频手机在线| 欧美激情精品久久久| 性感少妇一区| 欧美日韩中文字幕| 浪潮色综合久久天堂| 欧美日韩中国免费专区在线看| 久久久久久噜噜噜久久久精品 | 国产伦精品一区二区三区高清| 噜噜噜91成人网| 国产精品日日摸夜夜摸av| 亚洲国产精品美女| 狠久久av成人天堂| 亚洲欧美日韩爽爽影院| 一本色道久久88综合亚洲精品ⅰ | 午夜在线一区| 欧美日韩国产精品| 亚洲激情在线观看| 尤妮丝一区二区裸体视频| 亚洲综合国产精品| 亚洲综合导航| 欧美日精品一区视频| 亚洲日本va在线观看| 91久久综合| 蜜乳av另类精品一区二区| 看片网站欧美日韩| 国产视频在线一区二区| 亚洲一区在线直播| 午夜宅男欧美| 国产欧美亚洲一区| 欧美一区不卡| 久久久蜜桃一区二区人| 国产亚洲成av人片在线观看桃| 亚洲午夜影视影院在线观看| 亚洲一二区在线| 国产精品网曝门| 午夜在线精品| 免费成人高清在线视频| 亚洲国产精品t66y| 欧美不卡一卡二卡免费版| 亚洲国产天堂久久综合| 日韩手机在线导航| 欧美三级黄美女| 亚洲在线黄色| 久久久久久国产精品mv| 黑人巨大精品欧美黑白配亚洲| 欧美一区二区三区日韩视频| 久久亚洲精选| 亚洲毛片在线观看.| 欧美日韩久久| 香蕉国产精品偷在线观看不卡| 久久精品一区二区三区中文字幕| 好看的av在线不卡观看| 欧美激情精品久久久久久| 99re国产精品| 久久久久国产一区二区三区四区| 黑丝一区二区三区| 欧美精品观看| 亚洲欧美在线aaa| 欧美激情偷拍| 午夜精品久久久久久久| 伊人久久大香线蕉av超碰演员| 欧美丰满高潮xxxx喷水动漫| 在线一区二区日韩| 免费不卡视频| 亚洲欧洲99久久| 亚洲成色精品| 国产精品免费一区豆花| 久久久久成人精品| 欧美了一区在线观看| 你懂的国产精品| 亚洲精品美女在线观看| 国产精品成人播放| 久久9热精品视频| 亚洲精选成人| 欧美成年人视频网站| 亚洲线精品一区二区三区八戒| 国产精品久久久久久久久| 另类图片国产| 校园激情久久| 99在线|亚洲一区二区| 久久久另类综合| 亚洲影视在线播放| 亚洲精品久久久久中文字幕欢迎你| 国产精品高潮久久| 免费精品99久久国产综合精品| 亚洲视频在线二区| 91久久精品网| 欧美大胆a视频| 久久精品理论片| 亚洲欧美国产高清| 99riav国产精品| 亚洲高清精品中出| 韩日欧美一区| 国产色产综合产在线视频| 欧美午夜精品久久久久免费视| 美女在线一区二区| 久久久久国产一区二区| 性视频1819p久久| 亚洲一区日韩在线|