一个含有3w条数据的数组的最快遍历方法

lxp_1988 2012-02-07 09:50:16
RT
求一个含有3w条数据的数组的最快遍历方法
...全文
398 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxp_1988 2012-02-09
  • 打赏
  • 举报
回复
遍历这个数组是为了找数组中结构的某个字段相同的值
卡卡_苏米 2012-02-08
  • 打赏
  • 举报
回复
遍历不就是从头到尾么,O(n),又不是查找和排序 ~~
程序员小迷 2012-02-08
  • 打赏
  • 举报
回复
如果需求是这样,那么把记录按照你要求的排序,然后二分查找; 找到一个后,找后面的所有相同的
程序员小迷 2012-02-08
  • 打赏
  • 举报
回复
遍历要做什么
平凡的思想者 2012-02-08
  • 打赏
  • 举报
回复
采用hash map最快,常数时间完成。
wmz5858 2012-02-08
  • 打赏
  • 举报
回复
用内存数据库啊
qq120848369 2012-02-08
  • 打赏
  • 举报
回复
遍历就是扫描一遍... 查找可以快很多.
赵4老师 2012-02-07
  • 打赏
  • 举报
回复
bsearch
newpuple 2012-02-07
  • 打赏
  • 举报
回复
应该就是要实现一个内存数据库按字段查询的功能

数据量大的话用hash比较好,建立内存数据库,存入结构表中,通过hash来查找了
TechStone 2012-02-07
  • 打赏
  • 举报
回复
你这个需求也不叫遍历啊。。。

像楼上有哥们儿说的,对那个需要对比的字段做hash吧。
lxp_1988 2012-02-07
  • 打赏
  • 举报
回复
在这里说更清楚点吧
我的数据是从一个文本文件里取出的
一个记录包括68个字段
一个文件大概有3w条记录
在这3w条记录里 需要做一些业务
例如:
按某个记录的字段的值 寻找其他相同字段值的记录
nice_cxf 2012-02-07
  • 打赏
  • 举报
回复
如果是顺序遍历,用指针++比直接用下标稍快
newpuple 2012-02-07
  • 打赏
  • 举报
回复
说实话,没看懂什么意思,什么叫数组的最快遍历方法,数组就是最快的遍历了
直接取下标,寻地址,得数据
未日机甲 2012-02-07
  • 打赏
  • 举报
回复
都遍历了有什么好快的??又不是要查找
luciferisnotsatan 2012-02-07
  • 打赏
  • 举报
回复
数组,下标遍历,从顺序,逆序,乱跳都一样。
ouyh12345 2012-02-07
  • 打赏
  • 举报
回复
如果有足够大的内存,那就用hash,只需要遍历一次
nice_cxf 2012-02-07
  • 打赏
  • 举报
回复
用指针顺序遍历就是了,大概没啥好办法
nice_cxf 2012-02-07
  • 打赏
  • 举报
回复
直接用个轻型数据库不就好了?
非要自己实现数据库的功能费力不讨好
如果只是按照某个字段查找并且没重复可以用哈希,如果字段多的话建议使用数据库
上层应用业务对实时数据的需求,主要包含两部分内容:1、 整体数据的实时分析。2、 AB实验效果的实时监控。这几部分数据需求,都需要进行的下钻分析支持,我们希望能够建立统一的实时OLAP数据仓库,并提供一套安全、可靠的、灵活的实时数据服务。目前每日新增的曝光日志达到几亿记录,再细拆到AB实验更细维度时,数据量则多达上百亿记录,多维数据组合下的聚合查询要求秒级响应时间,这样的数据量也给团队带来了不小的挑战。OLAP层的技术选型,需要满足以下几点:1:数据延迟在分钟级,查询响应时间在秒级2:标准SQL交互引擎,降低使用成本3:支持join操作,方便维度增加属性信息4:流量数据可以近似去重,但订单行要精准去重5:高吞吐,每分钟数据量在千W级记录,每天数百亿新增记录6:前端业务较多,查询并发度不能太低通过对比开源的几款实时OLAP引擎,可以发现Doris和ClickHouse能够满足上面的需求,但是ClickHouse的并发度太低是个潜在的风险,而且ClickHouse的数据导入没有事务支持,无法实现exactly once语义,对标准SQL的支持也是有限的。所以针对以上需求Doris完全能解决我们的问题,DorisDB是一个性能非常高的分布式、面向交互式查询的分布式数据库,非常的强大,随着互联网发展,数据量会越来越大,实时查询需求也会要求越来越高,DorisDB人才需求也会越来越大,越早掌握DorisDB,以后就会有更大的机遇。本课程基于真实热门的互联网电商业务场景为案例讲解,具体分析指标包含:AB版本分析,下砖分析,营销分析,订单分析,终端分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。整个课程,会带大家实践一个完整系统,大家可以根据自己的公司业务修改,既可以用到项目中去,价值是非常高的。本课程包含的技术:开发工具为:IDEA、WebStormFlink1.9.0DorisDBHadoop2.7.5Hbase2.2.6Kafka2.1.0Hive2.2.0HDFS、MapReduceFlume、ZookeeperBinlog、Canal、MySQLSpringBoot2.0.8.RELEASESpringCloud Finchley.SR2Vue.js、Nodejs、Highcharts、ElementUILinux Shell编程等课程亮点:1.与企业接轨、真实工业界产品2.DorisDB高性能分布式数据库3.大数据热门技术Flink4.支持ABtest版本实时监控分析5.支持下砖分析6.数据分析涵盖全端(PC、移动、小程序)应用7.主流微服务后端系统8.天级别与小时级别多时间方位分析9.数据库实时同步解决方案10.涵盖主流前端技术VUE+jQuery+Ajax+NodeJS+ElementUI11.集成SpringCloud实现统一整合方案12.互联网大数据企业热门技术栈13.支持海量数据的实时分析14.支持全端实时数据分析15.全程代码实操,提供全部代码和资料16.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧