欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

深入第K大數(shù)問題以及算法概要的詳解

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

解法1: 我們可以對這個亂序數(shù)組按照從大到小先行排序,然后取出前k大,總的時間復(fù)雜度為O(n*logn + k)。

解法2: 利用選擇排序或交互排序,K次選擇后即可得到第k大的數(shù)??偟臅r間復(fù)雜度為O(n*k)

解法3: 利用快速排序的思想,從數(shù)組S中隨機(jī)找出一個元素X,把數(shù)組分為兩部分Sa和Sb。Sa中的元素大于等于X,Sb中元素小于X。這時有兩種情況:
1. Sa中元素的個數(shù)小于k,則Sb中的第k-|Sa|個元素即為第k大數(shù);
2. Sa中元素的個數(shù)大于等于k,則返回Sa中的第k大數(shù)。時間復(fù)雜度近似為O(n)

解法4: 二分[Smin,Smax]查找結(jié)果X,統(tǒng)計X在數(shù)組中出現(xiàn),且整個數(shù)組中比X大的數(shù)目為k-1的數(shù)即為第k大數(shù)。時間復(fù)雜度平均情況為O(n*logn)

解法5:用O(4*n)的方法對原數(shù)組建最大堆,然后pop出k次即可。時間復(fù)雜度為O(4*n + k*logn)

解法6:維護(hù)一個k大小的最小堆,對于數(shù)組中的每一個元素判斷與堆頂?shù)拇笮?,若堆頂較大,則不管,否則,彈出堆頂,將當(dāng)前值插入到堆中。時間復(fù)雜度O(n * logk)

解法7:利用hash保存數(shù)組中元素Si出現(xiàn)的次數(shù),利用計數(shù)排序的思想,線性從大到小掃描過程中,前面有k-1個數(shù)則為第k大數(shù),平均情況下時間復(fù)雜度O(n)

 

上一篇:深入解析最長公共子串

欄    目:C語言

下一篇:APUE筆記之:進(jìn)程環(huán)境詳解

本文標(biāo)題:深入第K大數(shù)問題以及算法概要的詳解

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/4529.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有