只有2GB内存在20亿个整数中找到出现次数最多的数
生活随笔
收集整理的這篇文章主要介紹了
只有2GB内存在20亿个整数中找到出现次数最多的数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:有一個包含20億個全是32位整數的大文件,在其中找到出現次數最多的數
要求:內存限制2GB
解決辦法:把包含20億個數的大文件用哈希函數分成16個小文件,根據哈希函數的性質,同一種數不可能被散列到不同的小文件上,同時每個小文件中不同的數一定不會大于2億種,假設哈希函數足夠優秀,然后對每一個小文件用哈希表來統計其中每種出現的次數,這樣我們就可以得到16個小文件中各自出現次數最多的數,還有各自的次數統計,接下來選出16個小文件各自的第一名中誰出現的次數最多即可
?
總結
以上是生活随笔為你收集整理的只有2GB内存在20亿个整数中找到出现次数最多的数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 认识布隆过滤器
- 下一篇: 认识哈希函数(散列函数)