有巨大的物体看起来像:
{
"exercise": ["running","walking","gym" ........lots of words],
"eat": ["breakfast","dinner",....... lots of words..],
.
.
.
"lots of keys": [ .... ....]
}
如上所示,有大量数据分类。在遇到像gym
这样的单词时,我需要在上面的例子中找到它的exercise
类别。由于数据量巨大,双循环的强力方法很难解决问题。
这里可以应用什么算法?什么数据结构能有效地解决这个问题?
每个列表中的键和项目的数量会逐渐增加,但它将轻松超过一百万个键和包含这些项目的列表。
PS:我完全可以将当前结构转换为相关的数据结构然后应用所需的方法
答案 0 :(得分:0)
您应该使用数据库并添加适当的索引。但是如果你真的想坚持使用这个对象,你可以使用oboe.js来避免在搜索之前解析整个文档。它在XML世界中与SAX类似。
上的“当我们有我们需要的东西时挂断”示例答案 1 :(得分:0)
如果您可以将文件格式更改为json以外的其他格式,也许您可以将每个类别放在新行上,如csv文件(不带标题),其中行中的第一个值是类别键
例如:
exercise,running,walking,gym........
eat,breakfast,dinner,.......
现在,要找到包含关键字的类别: