国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

找出一段數中的第K最大的數:k_Max

2019-11-10 17:38:58
字體:
來源:轉載
供稿:網友

先上代碼:(時間復雜度后面分析>_<)

#include<iostream>

#include<stdio.h>#include<stdlib.h>#include<time.h>using namespace std;void exchange(int *a,int *b){    if(a!=b)    {        int t=*a;        *a=*b;        *b=t;    }}int partition(int *a,int left,int right){int x=a[right];int i=left-1;int j=left;for(;j<right;++j)    {        if(a[j]>=x)        {            ++i;            exchange(&a[i],&a[j]);        }    }    exchange(&a[i+1],&a[right]);    return i+1;}int randomized_partition(int *a,int left,int right){srand((int)time(0));int i=rand()%(right-left+1)+left;if(i!=right)exchange(&a[i],&a[right]);return partition(a,left,right);}int Randomized_Select(int *a,int left,int right,int k){if(left==right)    return a[left];int q=randomized_partition(a,left,right);int key=q-left+1;if(key==k)return a[q];else if(k<key)return Randomized_Select(a,left,q-1,k);elsereturn Randomized_Select(a,q+1,right,k-key);}int main(){int a[10]={1,9,2,8,10,3,4,7,6,5};int k;cin>>k;int k_max=Randomized_Select(a,0,9,k);cout<<k<<"  Max:  "<<k_max<<endl;return 0;}

期望為線性時間的選擇算法

時間復雜度:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特右旗| 通城县| 江川县| 镇康县| 喀什市| 太谷县| 博湖县| 武汉市| 镇平县| 霸州市| 彭泽县| 仁寿县| 玉溪市| 宁陵县| 滁州市| 永吉县| 铜山县| 黎城县| 仲巴县| 荆州市| 青岛市| 大连市| 鹤庆县| 沂南县| 花莲县| 滕州市| 石棉县| 行唐县| 穆棱市| 万载县| 泌阳县| 汝阳县| 沙坪坝区| 久治县| 德令哈市| 平阳县| 高邑县| 定西市| 施甸县| 沂水县| 申扎县|