微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找到有关搜索的最佳建议

如何解决找到有关搜索的最佳建议

我一直在考虑这个问题一段时间,但不确定如何以最佳的数据结构和时间复杂性来解决它。这不是家庭作业,也不是类似的事情,只是临时的问题解决,我今年早些时候尝试解决,但是后来我忘了它。

想象一下,您有一个网站,它将对您输入的关键字进行最佳搜索。您有一个由具有2个属性的对象组成的数据结构

"word": < string value,name of the word >
"popularity": < numerical value,how often the word has been searched >

您可以选择所需的任何数据结构,并且可以先按最高值或根据“单词”值的字母顺序对其进行排序。

例如,考虑下面的数据值

data = [{
    "word": "ipad"
    "popularity": 100
  },{
    "word": "iphone"
    "popularity": 1321
  },{
    "word": "ipod"
    "popularity": 22
  }
]

如果我搜索“ ipa”,我应该得到“ ipad”

如果我搜索“ ip”,我应该得到“ iphone”

如果我搜索“ ipod”,我应该得到“ ipod”

算法需要检查键入的关键字是否完全匹配,如果找到则返回单词;如果不完全匹配,则将选择具有最高人气值的单词,然后将其返回。

我想解决此问题的方法是使用对象数组来找到最佳匹配,但这是O(n)不够好。

我很想知道其他想法,建议阅读文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。