卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

求一個數(shù)組中第k大的數(shù) 找數(shù)組中第K大的數(shù),請教?

找數(shù)組中第K大的數(shù),請教?考慮bubble算法,即首先根據(jù)當(dāng)前大小排列數(shù)組中的值,然后輸出K-1st1。4字節(jié)表示的整數(shù)數(shù)為2^32≈40億,2字節(jié)表示的無符號整數(shù)數(shù)為2^16≈60000。2、2G=

找數(shù)組中第K大的數(shù),請教?

考慮bubble算法,即首先根據(jù)當(dāng)前大小排列數(shù)組中的值,然后輸出K-1st

1。4字節(jié)表示的整數(shù)數(shù)為2^32≈40億,2字節(jié)表示的無符號整數(shù)數(shù)為2^16≈60000。

2、2G=2^31b≈20億字節(jié)。

3、為了找出出現(xiàn)次數(shù)最多的數(shù)字,應(yīng)記錄每個數(shù)字的出現(xiàn)次數(shù)。最快的方法是記錄每個數(shù)字在內(nèi)存中出現(xiàn)的次數(shù)。記錄方法是記錄相應(yīng)的存儲器地址數(shù)和相應(yīng)地址的存儲器單元數(shù)。但是,2G內(nèi)存只能記錄20億字節(jié)的數(shù)字,如果每個數(shù)字的出現(xiàn)次數(shù)大于255則會發(fā)生溢出,沒有風(fēng)險。因此,這種方案是不可取的。

4、這樣,磁盤上只能記錄每次出現(xiàn)的次數(shù)。這樣,就在磁盤上創(chuàng)建了一個16g文件。每4個字節(jié)對應(yīng)一個整數(shù),可以對應(yīng)40億個整數(shù)。用于記錄相應(yīng)整數(shù)的個數(shù)。

1. 初始化文件。

2. 依次讀取數(shù)據(jù)并用無符號整數(shù)記錄在磁盤文件中。如果發(fā)生溢出,則該數(shù)字是次數(shù)最多的數(shù)字。

3. 從文件中讀取每個數(shù)字的次數(shù),用變量a記錄最高次數(shù),用變量B記錄最高次數(shù)的數(shù)據(jù),用文件依次記錄最高次數(shù)的數(shù)據(jù)。當(dāng)最大次數(shù)增加時,a1和B被設(shè)置為1,并且該數(shù)字被寫入文件中。當(dāng)出現(xiàn)相同次數(shù)的數(shù)字b1時,該數(shù)字被寫入文件的相應(yīng)位置,直到全部被讀取為止。

所以您根本不需要2G內(nèi)存。

挑戰(zhàn)程序員同學(xué),如何只用2GB內(nèi)存從20/40/80億個整數(shù)中找到出現(xiàn)次數(shù)最多的數(shù)?

設(shè)置標(biāo)志矩陣,首先將所有值指定為1,然后執(zhí)行K個循環(huán)。在每個循環(huán)中,每個元素和對應(yīng)的標(biāo)志位相乘,找到最大元素和對應(yīng)位置,對應(yīng)位置的標(biāo)志位置為零,然后執(zhí)行下一個循環(huán)。在第k個循環(huán)中發(fā)現(xiàn)的最大數(shù)就是第k個最大數(shù)。(PS不想發(fā)布具體的句子,所以最好是一個好人做到底,哈哈)a=[26431915708]flag=ones(size(a))k=5對于J=1:k[data I]=max(a.*flag)flag(I)=0 end