【发布时间】:2018-03-18 23:56:31
【问题描述】:
我有一个包含 100 万对的 JSON 对象。
var student = {[
{
name: "govi",
score: "65"
},
{
name: "dharti",
score: "80"
},
{
name: "Akash",
score: "75"
},............. till 1 million
]
};
现在我的关注点如下。
我想构建一个接受用户查询的服务器程序,这样对于每个查询,它都会响应以 s 开头或包含“_s”的前 10 个名称(按分数排名)(例如,“收入”和“yearly_revenue”匹配前缀“rev”)。使用普通的 Jquery 和 json 程序太容易了,但是有一个条件。
条件
查询回答应该在次线性时间内运行(就输入中的姓名数量而言)。
【问题讨论】:
-
通过
name搜索或通过score搜索?您需要通过最可能的搜索模式来索引数组 -
你想使用多少内存?
-
@gurvinder372 按分数排序并按名称搜索
-
@MineR 内存不是问题,只是想用亚线性时间算法来实现它。
-
对什么投反对票?
标签: javascript c# jquery .net json