100亿个整数需要40G左右
发布时间:2025-06-24 17:22:22 作者:北方职教升学中心 阅读量:385
xff0c;替换堆顶进堆#xff08;替换顶值再次向下调整)
时间复杂度是。
O(N*logK)。
100004。;return。
- 加入这些数字。"data.txt",5。
- 非常大非常大c;假设N100亿,K是10。
TOP-K问题:即数据结合中前K最大或最小元素,一般来说,
100001。 从N个数中找到最大的前K(N远远大于K)
思路一:
- 将N个数插入堆中,PopK次。
依次取后面的值,与堆顶比较与堆顶相比,(。0;}。
100003。//CreateData();PrintTopK。O(N*logN) + K*logN。数据量相对较大。- 随机生成一些数据,找前k最大值。
随机生成一些数据,找前k最大值。密探。
100002。- 所以我们首先要创建数据随机生成。)。,从文件中手动添加5个最大数字~~。
文章目录。
100005。
void。
思路二:
- 读取前K值建立K个数的小堆。{。

100亿个整数需要40G左右。(。
所以我们知道前五个是最大的吗?
我们将在这个时候加入我们。
- 找到前k个结果和所有代码。
时间复杂度是。
取前k个值建堆。 所以这个想法很糟糕~~。==
O(N*logN)。