速度之颠-位图算法
问题:
有很多不重复的整数, 其中最大值不超过40亿, 最小值是0.
要求判断某个指定的整数, 是否在这个集合中.
最快的算法:
使用位图算法。
使用2个字节,表示16个数(0-15)的状态(有或者没有)
如果数据为【5,1,7,15,0,4,6,10】,则存储状态为:
代码实现
#include <stdio.h>
#include <Windows.h>
void init(char *data, int len) {
// 根据实际需求来实现.
// 这里只
原创
2021-08-16 22:54:13 ·
94 阅读 ·
0 评论