社区
基础编程
帖子详情
最后50分,请教一个算法
pwtitle
2006-08-03 12:56:13
一个文本文件记录的格式如下:
1 5
6 10
11 11
15 15
17 25
m n
.....
规律为前一个数字m<=后一个数字n,该数据量非常大,估计有100W条。
现在的情况是有一个任意数字x,要求判断他落在第几个m,n区间,并返回文件所在行数。
该应用为web应用,且同时请求量非常大,假设为同时1000次查询。(每次x都不一样)。那么请问各位高手,有什么算法或方法来解决这个问题呢?
...全文
198
8
打赏
收藏
最后50分,请教一个算法
一个文本文件记录的格式如下: 1 5 6 10 11 11 15 15 17 25 m n ..... 规律为前一个数字m<=后一个数字n,该数据量非常大,估计有100W条。 现在的情况是有一个任意数字x,要求判断他落在第几个m,n区间,并返回文件所在行数。 该应用为web应用,且同时请求量非常大,假设为同时1000次查询。(每次x都不一样)。那么请问各位高手,有什么算法或方法来解决这个问题呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
颓废的老猫
2006-08-03
打赏
举报
回复
学习
不过我觉得用数据库可能更方便一点
laochake
2006-08-03
打赏
举报
回复
是否有当前行的m大于等于前一行的n,如果成立的话,可以考虑分割成多个文件存储
chszs
2006-08-03
打赏
举报
回复
笔误,“32块,”见上面。
chszs
2006-08-03
打赏
举报
回复
顺序查找和二分查找都不好,因为“同时请求量非常大”,我觉得可以采用分块查找。
把m分成34块,因为你“假设为同时1000次查询”32*32=1024,只需要两级的查找,每级又可采用二分查找,这样速度就会很快了。
zeroleonhart
2006-08-03
打赏
举报
回复
I feel db is faster than file, too.
ckc
2006-08-03
打赏
举报
回复
数据有问题吧,16怎么判断啊
楼上的说的对,你应该把它放到数据库中
直接一条语句就查出来了
select count(*) from table where 开始区间<数据
表中只需要一个字段就可以了,结果就是序号
有了索引的话速度很快的
xuzuning
2006-08-03
打赏
举报
回复
1、处理这类问题首先考虑的是建立索引文件。因为顺序查找的平均查找次数是n/2,最坏的情况下是n
而二分查找的平均查找次数是log2(n),但是二分查找需要先对数据排序。因此,建立索引文件就有必要了
2、如何建立索引文件?
假定数据文件已存在并且只读,并且已经是排序过的。旧和楼主示例的那样。
那么只要用fgets函数遍历一次数据文件并记录每次fgets前的位置(用ftell),并以定长方式保存到索引文件即可。检索时先读取索引中的数据文件偏移,再根据偏移读取数据项,根据判断结果决定如何取下一个索引
假定数据文件非只读或未经排序,那么就稍微麻烦点。一般用树结构组织索引。但是要注意,当向排序数添加已排序数据时,会造成数不均衡。最坏的情况将变为顺序查找。所以需要提供使数均衡的算法
keaizhong
2006-08-03
打赏
举报
回复
文本文件?那有点儿夸张哟。。每次都要打开这个文件,势必会损耗很多的资源。
不如导入MYSQL里,再加上索引,查寻的时候会压力小点。而且语句也简单,方便维护。
长文解析Resnet
50
的
算法
原理
本文深入浅出地讲解了ResNet
50
神经网络的工作原理,涉及像素、卷积、残差结构、池化、全连接层及SoftMax
分
类,适合初学者理解深度学习核心概念。
第J1周:ResNet-
50
算法
实战与解析
本文是365天深度学习训练营的学习记录。本周学习了CNN
算法
发展、残差网络由来及ResNet-
50
介绍,手动构建其网络模型。介绍了ResNet解决深度神经网络退化问题的原理,包括残差块、恒等映射等。还提到ResNet
50
的深度含义,
最后
展示了数据处理、网络构建及训练的代码运行结果。
Resnet
50
算法
原理
本文详细介绍了卷积神经网络的工作原理,特别是Resnet
50
网络,包括卷积、池化、激活函数和全连接层的作用。卷积通过模拟人眼识别图像的过程提取特征,池化层则降低了计算量并保持特征不变性,全连接层将特征融合,SoftMax将得
分
转换为概率,完成
分
类。Resnet
50
利用残差结构解决了深度学习中的梯度消失问题,提高了网络性能。
推荐
一个
项目:数据结构和
算法
必知必会的
50
个代码实现
本文提供了
一个
包含
50
道必知必会
算法
题目的项目,支持12种编程语言,包括Java、Python、C++等,覆盖数组、链表、栈等数据结构及回溯、
分
治等
算法
,适合不同编程背景的学习者。
进击J7:对于ResNeXt-
50
算法
的思考
本文围绕ResNeXt -
50
算法
展开,先介绍本周自行探索解决代码是否有错的任务,接着阐述
分
析代码的步骤,包括回顾模型原理、检查代码结构与语法、
算法
逻辑及与参考资料对比。
最后
对代码中通道数不一致却不报错的情况,从代码逻辑、
算法
原理和参考资料层面进行
分
析。
基础编程
21,890
社区成员
140,338
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章