我有传入的数据流有以下值。
国家,城市,州什么数据结构最适合嵌套值和值的计数?
伴随着最大数量的唯一值存储(例如50,22,12)。
我需要设计一个系统来保持上述值及其子值的出现次数。如果存在多于最大数量的值,则不是存储实际值存储ETC.
国家和发生
美国和发生
城市的数量和出现
在规定的时间间隔要求的数的计数是计算所有罪状亚型计数一起。 例如所以来自这个系统的输出值将会是。
国家A 435,国乙264,市C 300
国家B 123,国乙825,C市321
国家A 153,国家B 122,C市534
我的系统强制下列限制。
1.不能使用任何数据库系统来存储和检索值。
2.速度和使用简单性需要在内存中(因此限制存储的最大值)
3.值以特定间隔清零。
4.这些值是嵌套的,我不能使用单独的表来分别跟踪3个字段。
我想过使用自定义数据结构来存储嵌套值和它的计数。 我可以通过其他方式实现以下设计。哪些数据结构可以使用? 是否有任何现有的例子做类似的事情?
注意:这不是一项家庭作业,我正在开发自己的应用程序,而且我坚持为此需求设计优雅的解决方案。如果您认为这个问题对于StackOverflow来说过于笼统或不恰当,那么在关闭或投票之前请留下备注,该论坛应该用于提出这个问题。任何积极的反馈赞赏。
伪代码:
class Location {
// local storage
private val subLocationCounter = HashMap[Location, Long];
// method to add new location
addLocation(Location loc)
// method to get current count of locations
getCounts()
// method to get current count of locations values recursively
}
很抱歉,但要求也不是很清楚。如果您可以显示您想要实现的自定义数据结构的伪代码,其他人可能可以帮助您改进或提出更好的数据结构。 –
感谢您的时间和帖子@AmnaAli。对于我的自定义数据结构,我想过使用一个简单的类位置,它具有一个Map。我打算实例化并为每个嵌套的国家 - >州 - >城市不断增加位置值。'''code class Location {0}私有val subLocationCounter = HashMap [Location,Long]; //方法来添加新的位置 //方法得到的位置当前计 //方法来获取位置值的当前计递归 } ''' –
user300313
请把你的代码在你原来的职位,使用'编辑'。 – WhatsUp