首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >持久化大型数组以加快访问速度

持久化大型数组以加快访问速度
EN

Stack Overflow用户
提问于 2010-02-05 04:14:01
回答 6查看 496关注 0票数 4

我有一个5维数组,其中所有的索引都在2-14之间。它包含一个5位数序列的所有可能的排列。这个数组包含525720个排列,这需要相当长的时间来计算。(在我的Macbook pro上5-7秒)。它应该用作查找表,以访问固定时间内的值,或者更具体地说,访问某个扑克手的值:

代码语言:javascript
运行
复制
array[2][3][4][5][7] // 1
array[5][5][5][5][14] // 2000

有没有更快的方法来创建这个数组?我在考虑以某种方式持久化数组,然后在每次程序启动时加载它--但是有什么有效的方法可以做到这一点吗?

我不太熟悉持久化。我真的不知道这是否值得我从磁盘加载它,而不是每次都创建它。我知道Hibernate,但这似乎有点过头了,仅仅为了持久化单个数组?

EN

Stack Overflow用户

发布于 2010-02-05 04:37:35

以下是一些事情:

如果这是扑克牌手牌,你不能只存储2-14。您还需要存储西装以及。这实际上意味着你需要存储0-51。否则你无法知道array[2][3][4][5][6]是同花顺还是同花顺。

如果你实际上不需要为你的应用程序存储套装,并且你真的想在一个数组中存储它,那么使用0-12的索引,而不是2-14。这将允许您使用13×13×13×13×13 (371,293成员)阵列,而不是15×15×15×15×15 (759,375成员)阵列。每当访问数组时,只需从每个索引中减去2即可。(我不确定你的525,720个数字是从哪里来的……)

票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2202836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档