Java:键-键-值结构的内存高效存储 - 嵌套映射/键-值对

问题描述

搜索问题中,我希望代理从初始位置开始探索一个大的状态空间,以及从每个访问过的状态出发的许多选项。我还需要代理记住访问过的状态以及从状态到状态的转换是多么有价值。因此,给定类型 S(表示状态),我需要一个数据结构来存储 S -> S -> 整数 的许多组合,以记住转换的好坏(整数)从当前状态(1st S)到后继状态(2nd S)是。

到目前为止,我使用了像 HashMap> 这样的嵌套 Hashmap,但是我的内存耗尽的速度太快了。我想了一个额外的 Map 来为每个状态分配一个标识符(HashMap),然后在嵌套 Hashmap 中使用标识符而不是 S 以避免在映射在不同的三元组中(因为可以从 A、B 等到达状态 C),但是我不确定这是否有可能在理论上和实践上改进任何东西/有意义。

在 Java 中存储此类三元组的内存高效方法是什么?通过在附加步骤中将状态编码为整数,我可以期待任何改进吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)