首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
一个有10亿条记录的文本文件,已按照关键字排好序存储。请设计
[问答题]
一个有10亿条记录的文本文件,已按照关键字排好序存储。请设计算法,可以快速的从文件中查找指字关键字的记录。
添加笔记
求解答(0)
邀请回答
收藏(12)
分享
纠错
3个回答
添加回答
1
菜鸟葫芦娃
10亿在 G量级, 可以分成100份, 这样每份就是10M量级, 基本上放入内存无压力了.
在这10亿记录中, 均分为100份, 把每份的第一条记录关键字和此记录对应的文件偏移量先扫入内存(类似索引),
这样可以马上定位出指定关键字所在的记录块, 把相应的记录块拿到内存, 二分查找即可.
发表于 2016-06-24 07:57:26
回复(0)
更多回答
0
Johnny_Jiang
根据关键字做哈希,把数据分成N份,每份数据的关键字哈希值相同,然后通过计算哈希值确定在哪份数据中,之后加载这部分数据,从中查找,具体的查找方法,可以用折半来查。
发表于 2016-06-24 14:22:23
回复(1)
0
武则天大人
关键字假设按升序存储在数组里,可采用折半查找:
编辑于 2015-03-29 10:55:12
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
阿里巴巴
查找
上传者:
EVILIN
难度:
3条回答
12收藏
8908浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3704)
来自
华为研发工程师编程题
体育课测验(二)
广度优先搜索(BFS)
拓扑排序
dfs
评论
(2)
防火墙是怎么实现的?
计算机网络基础
评论
(1)
PMOS和NMOS的区别
元器件
评论
(1)
“乔布斯不做调查,张小龙不看数据。...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题