程式設計練習(三)(Top K選擇)

2021-09-19 08:46:56 字數 2267 閱讀 1567

解決方法

(解決方法的實現**可能還存在著問題,但思路是正確的。)

#include

#include

intread()

;int i=

0,a[

100000];

intmain()

k++;}

k=0;

j++;}

printf

("第%d次top-10="

,n+1);

for(j=

0;j<

10;j++

)printf

("\n");

j=0;

} end=

clock()

; runtime=

(double

)(end-start)

;printf

("程式執行時間為%f毫秒(ms)\n"

,runtime)

;return0;

}int

read()

fclose

(data)

;}

#include

#include

#include

intread()

;int i=

0,a[

100000];

intmain()

;read()

;for

(int n=

0;n<

10;n++

) k++;}

b[j]

=max;

a[num]=1

;}printf

("第%d次top-10="

,n+1);

for(j=

0;j<

10;j++

)printf

("\n");

} end=

clock()

; runtime=

(double

)(end-start)

;printf

("程式執行時間為%f毫秒(ms)\n"

,runtime)

;return0;

}int

read()

fclose

(data)

;}

#include

#include

#include

intread()

;int i=

0,a[

1000000];

intmain()

;int k=

0,x=

0,j=0;

read()

;for

(int n=

0;n<

1000000

;n++)}

} j++;}

printf

("第%d次top-10="

,n+1);

for(k=

9;k>=

0;k--

)printf

("\n");

} end=

clock()

; runtime=

(double

)(end-start)

;printf

("程式執行時間為%f毫秒(ms)\n"

,runtime)

;return0;

}int

read()

fclose

(data)

;}

備註
#include

clock_t start,end;

start=

clock()

;float runtime;

end=

clock()

;runtime=

(double

)(end-start)

;printf

("程式執行時間為%f毫秒(ms)\n"

,runtime)

;

int i=

0,a[

1000000];

intread()

fclose

(data)

;}

12960

56028628

9692

2842

30927

程式設計練習 選擇排序

問題描述 假設使用者通過鍵盤輸入乙個整形數列。編寫乙個程式,將其按照從小到大的順序重新排列。問題分析 假設有n個資料將要參與排序操作,則具體的排序過程可以描述為 首先從n個資料中選擇乙個最小的資料,並將它交換到第1個位置 然後再從後面n 1個資料中選擇乙個最小的資料,並將它交換到第2個位置 依次類推...

線性時間選擇 TOP K

問題描述 找出乙個陣列中第k小的元素,時間複雜度為o n 解法 1.首先大家都會想到的解法是排序,之後找出第k個元素,但是排序的時間複雜度不符合要求,或者需要額外的空間。2.利用快排的思想,以樞紐 隨機得到 為界,將陣列分為2部分,一部分小於等於這個樞紐值,一部分大於這個樞紐值,與快排不同的是,我們...

程式設計練習三

程式一 編寫函式void count char a,char w 10 int n,int b 功能是 統計 w指向的陣列中的 n個單詞在 a指向的字串中各自出現的次數 將非字母字元看作單詞分割符 擰將統計結果依次儲存在 b指向的陣列中。include include include void co...