如题,我要找一个效率比较高的方法,欢迎大家来讨论。如果答案是暴力扫最快的话,我自扇耳光三百下!
84条回答 默认 最新
关注 一个含有1亿个QQ号码的文件,面对这种大数据处理,还要满足最快查找到QQ的需求,如果是我,我会先从这几方面考虑。
一、硬件配置
二、编程语言
三、算法
四、查前判断
五、存储区域
-------------------------------且听我慢慢道来---------------------------
一、硬件配置——命令行下运行的最快的计算机
想快点查找,兵器必须要好,那么就得做到以下几点: 1. 操作系统 放弃图形用户界面用命令行界面的操作系统,不解释。如果Windows和Linux之间,貌似只得选Linux了。 2. 采用世界上最快的计算机 国产的天河二号超级计算机,Cray超级计算机,、量子计算机,生物计算机,哪个最快就用哪个吧。 3.世界上最快的计算机构成的服务器集群来最优共同合作处理。
二、编程语言——尽量接近底层的编程语言
高级语言貌似总是没有低级语言的处理速度快,因此应该尽量使用接近底层的编程语言。
三、算法——操作系统分页原理+时间复杂度最低的算法
题目中只求查询速度快即可,那么意思是不是只要时间复杂度低点,多牺牲点空间似乎也无所谓。 始终觉得操作系统的分页查询原理很不错,在此基础上再使用一种时间复杂度最低的算法,那么速度应该会提高不少。 四、查前判断 1.查询前先判断QQ位数 查询之前,先判断QQ位数,可缩小一部分分页查询范围。 2.逐位位数分页判断 从最高位开始判断每一位都进行判断,该位属于从哪一页,哪个表。
五、存储区域——构造高速缓冲区
尽量存储到一个存取速度比较快的数据结构内,并放到存取速度最快的存储区内,位数判断后将满足的页加载到内存。
异想天开班门弄斧胡言乱语一番,梦中不知所云。
解决 16无用
悬赏问题
- ¥15 matlab求解平差
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?