随笔分类 -  数据结构与算法 / 海量数据算法

海量数据算法
摘要:一、题目 如何判断一个数是否在40亿个整数中 二、题解 2.1《编程珠玑》给出的方案 我们把40亿个数中的每一个用32位的二进制来表示,假设这40亿个数开始放在一个文件中。然后将这40亿个数分成两类:1.最高位为0;2.最高位为1。并将这两类分别写入到两个文件中,其中一个文件中数的个数<=20亿,而 阅读全文
posted @ 2022-09-16 18:38 夏尔_717 阅读(578) 评论(0) 推荐(0)
摘要:一、题目 10亿int整型数,以及一台可用内存为1GB的机器,时间复杂度要求O(n),统计只出现一次的数。 二、分析 首先分析多大的内存能够表示10亿的数呢?一个int型占4字节,10亿就是40亿字节(很明显就是4GB),也就是如果完全读入内存需要占用4GB,而题目只给1GB内存,显然不可能将所有数 阅读全文
posted @ 2022-04-26 21:45 夏尔_717 阅读(643) 评论(0) 推荐(0)
摘要:一、题目 在10亿数字的文件中找到最大的前100个数字。 二、分析 针对Top K问题,常规的内存排序算法无法应对海量数据,需结合数据规模和内存限制,选择适配的算法。以下从内存友好型和海量数据适配型两个维度,分析三种核心解决方案。 2.1 排序方法 2.1.1 算法原理 快速选择(Quick Sel 阅读全文
posted @ 2022-04-24 11:28 夏尔_717 阅读(1599) 评论(0) 推荐(0)