当前位置: 首页 > news >正文

网站开发看掉一些功能家里电脑可以做网站服务器吗

网站开发看掉一些功能,家里电脑可以做网站服务器吗,找装修公司的网站,amz123来源 | 搜索技术责编 | 小白Google和百度都支持输入提示功能#xff0c;辅助你快速准确的输入想要的内容。如下#xff1a;输入“五一”#xff0c;会提示“五一劳动节”等。那如何实现谷歌这样的输入提示功能呢#xff1f;分析下输入提示的功能需求当输入前面的词A#x… 来源 | 搜索技术责编 | 小白Google和百度都支持输入提示功能辅助你快速准确的输入想要的内容。如下输入“五一”会提示“五一劳动节”等。那如何实现谷歌这样的输入提示功能呢分析下输入提示的功能需求当输入前面的词A希望提示出前缀为A的所有高相关性的词。这个特性属于前缀匹配trie树被称为前缀树是一种搜索排序树很适合用作输入提示的实践。下面以python3为例使用Trie树构建输入提示服务。# Python3 program to demonstrate auto-complete # feature using Trie data structure. # Note: This is a basic implementation of Trie # and not the most optimized one. class TrieNode(): def __init__(self):# Initialising one node for trie self.children {} self.last False class Trie(): def __init__(self):# Initialising the trie structure. self.root TrieNode() self.word_list []def formTrie(self, keys):# Forms a trie structure with the given set of strings # if it does not exists already else it merges the key # into it by extending the structure as required for key in keys: self.insert(key) # inserting one key to the trie.def insert(self, key):# Inserts a key into trie if it does not exist already. # And if the key is a prefix of the trie node, just # marks it as leaf node. node self.rootfor a in list(key): if not node.children.get(a): node.children[a] TrieNode()node node.children[a]node.last Truedef search(self, key):# Searches the given key in trie for a full match # and returns True on success else returns False. node self.root found Truefor a in list(key): if not node.children.get(a): found False breaknode node.children[a]return node and node.last and founddef suggestionsRec(self, node, word):# Method to recursively traverse the trie # and return a whole word. if node.last: self.word_list.append(word)for a,n in node.children.items(): self.suggestionsRec(n, word a)def printAutoSuggestions(self, key):# Returns all the words in the trie whose common # prefix is the given key thus listing out all # the suggestions for autocomplete. node self.root not_found False temp_word for a in list(key): if not node.children.get(a): not_found True breaktemp_word a node node.children[a]if not_found: return 0 elif node.last and not node.children: return -1self.suggestionsRec(node, temp_word)for s in self.word_list: print(s) return 1 # Driver Codekeys [五一, 五一劳动节, 五一放假安排, 五一劳动节图片, 五一劳动节图片 2020, 五一劳动节快乐, 五一晚会, 五一假期, 五一快乐,五一节快乐, 五花肉, 五行, 五行相生] # keys to form the trie structure.key 五一 # key for autocomplete suggestions.status [Not found, Found] # creating trie objectt Trie() # creating the trie structure with the# given set of strings.t.formTrie(keys) # autocompleting the given key using# our trie structure.comp t.printAutoSuggestions(key) if comp -1: print(No other strings found with this prefix\n)elif comp 0: print(No string found with this prefix\n) # This code is contributed by amurdia输入五一输入提示结果如下结果都实现了但我们实现后的输入提示顺序跟Google有点不一样那怎么办呢一般构建输入提示的数据源都是用户输入的query词的日志数据并且会统计每个输入词的次数以便按照输入词的热度给用户提示。现在我们把日志词库加上次数来模拟Google的输入效果。日志库的查询词及个数示例如下五一劳动节 10五一劳动节图片 9五一假期 8五一劳动节快乐 7五一放假安排 6五一晚会 5五一 4五一快乐 3五一劳动节图片2020 2五一快乐 1 把输入提示的代码调整下支持查询词次数的支持# Python3 program to demonstrate auto-complete # feature using Trie data structure. # Note: This is a basic implementation of Trie # and not the most optimized one. import operatorclass TrieNode(): def __init__(self): # Initialising one node for trie self.children {} self.last False class Trie(): def __init__(self): # Initialising the trie structure. self.root TrieNode() #self.word_list [] self.word_list {} def formTrie(self, keys): # Forms a trie structure with the given set of strings # if it does not exists already else it merges the key # into it by extending the structure as required for key in keys: self.insert(key) # inserting one key to the trie. def insert(self, key): # Inserts a key into trie if it does not exist already. # And if the key is a prefix of the trie node, just # marks it as leaf node. node self.root for a in list(key): if not node.children.get(a): node.children[a] TrieNode() node node.children[a] node.last True def search(self, key): # Searches the given key in trie for a full match # and returns True on success else returns False. node self.root found True for a in list(key): if not node.children.get(a): found False break node node.children[a] return node and node.last and found def suggestionsRec(self, node, word): # Method to recursively traverse the trie # and return a whole word. if node.last: #self.word_list.append(word) ll word.split(,) if(len(ll) 2): self.word_list[ll[0]] int(ll[1]) else: self.word_list[ll[0]] 0 for a,n in node.children.items(): self.suggestionsRec(n, word a) def printAutoSuggestions(self, key): # Returns all the words in the trie whose common # prefix is the given key thus listing out all # the suggestions for autocomplete. node self.root not_found False temp_word for a in list(key): if not node.children.get(a): not_found True break temp_word a node node.children[a] if not_found: return 0 elif node.last and not node.children: return -1 self.suggestionsRec(node, temp_word) #sort sorted_d dict(sorted(self.word_list.items(), keyoperator.itemgetter(1),reverseTrue)) for s in sorted_d.keys(): print(s) return 1 # Driver Codekeys [五一,4, 五一劳动节,10, 五一放假安排,6, 五一劳动节图片,9, 五一劳动节图片 2020,2, 五一劳动节快乐,7, 五一晚会,5, 五一假期,8, 五一快乐,3,五一节快乐,1, 五花肉,0, 五行,0, 五行相生,0] # keys to form the trie structure.key 五一 # key for autocomplete suggestions.status [Not found, Found] # creating trie objectt Trie() # creating the trie structure with the# given set of strings.t.formTrie(keys) # autocompleting the given key using# our trie structure.comp t.printAutoSuggestions(key) if comp -1: print(No other strings found with this prefix\n)elif comp 0: print(No string found with this prefix\n) # This code is contributed by amurdia输出结果跟Google一模一样总结以上是使用Trie树实践Google输入提示的功能。除了Trie树实践我们还有其他办法么搜索中有没有其他的索引能很好实现输入提示的功能呢更多阅读推荐云原生体系下的技海浮沉与理论探索如何通过 Serverless 轻松识别验证码5G与金融行业融合应用的场景探索打破“打工人”魔咒RPA 来狙击使用 SQL 语句实现一个年会抽奖程序
http://www.zqtcl.cn/news/668213/

相关文章:

  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备
  • 手表网站起名登录页面html模板
  • 泰国如何做网站推广大英网站建设工作