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

自己做的网站怎么植入erp国家企业信用信息公示系统广西

自己做的网站怎么植入erp,国家企业信用信息公示系统广西,湖南省造价管理站官网,磨床 东莞网站建设一.trie树应用#xff1a; 相应leetcode 常用于搜索提示#xff0c;如当输入一个网址#xff0c;可以自动搜索出可能的选择。当没有完全匹配的搜索结果#xff0c;可以返回前缀最相似的可能。 例如三个单词app, apple, add,我们按照以下规则创建了一颗Trie树.对于从树的根…一.trie树应用 相应leetcode 常用于搜索提示如当输入一个网址可以自动搜索出可能的选择。当没有完全匹配的搜索结果可以返回前缀最相似的可能。 例如三个单词app, apple, add,我们按照以下规则创建了一颗Trie树.对于从树的根结点走到黑色结点的路径上的字母依次组合起来就是一个完整的单词.  class Trie:def __init__(self):Initialize your data structure here.self.root {}self.word_end -1def insert(self, word):Inserts a word into the trie.curNode self.rootfor c in word:# print(self.root:, self.root)if c not in curNode:curNode[c] {}curNode curNode[c]curNode[self.word_end] Truedef search(self, word):Returns if the word is in the trie.curNode self.rootfor c in word:if c not in curNode:return FalsecurNode curNode[c]# Doesnt end hereif self.word_end not in curNode:return Falsereturn Truedef startsWith(self, prefix):Returns if there is any word in the trie that starts with the given prefix.curNode self.rootfor c in prefix:if c not in curNode:return FalsecurNode curNode[c]return Trueword apple prefix ad obj Trie() obj.insert(wordapple) obj.insert(wordadd) obj.insert(wordapp) print(tree:, obj.root) param_2 obj.search(word) print(search res:,param_2) param_3 obj.startsWith(prefix) print(prefix find:,param_3) 二.字符串匹配算法 1.朴素匹配算法 暴力解法时间复杂度是O(m*n) 。 t aabaabaabab p abc print(nmatching(t,p)) def match_string(t,p):nlen(t)mlen(p)ij0while in and jm:if t[i]p[j]:i1j1else:ii-j1j0if jm:return str(i-j)else:return no mismatch resmatch_string(t,p) print(res:,res) 2.RK算法 采用字符串的hash值进行匹配时复杂度On最差情况退化到朴素匹配时间复杂度也为O(m*n) def compute_hash(str_):a的hash值是0,其它依次加1hash_code 0for i in range(len(str_)):# print(str_[i], str_[i])hash_code ord(str_[i])-ord(a)return hash_code#RK算法 def RK(main_str,pattern_str):通过比较字符串的hash值 从而找到子串 时间复杂度O(n),遇见复杂情况就退化为了O(mn))pattern_hash_code compute_hash(pattern_str)pattern_len len(pattern_str)print(模式串hash_code, pattern_hash_code)str_hash_code compute_hash(main_str[:pattern_len])print(子串_hash_code, str_hash_code)for i in range(len(main_str)-len(pattern_str)1):if str_hash_code pattern_hash_code and main_str[i:ilen(pattern_str)] pattern_str:return ielse:str_hash_code - ord(main_str[i]) - ord(a)str_hash_code ord(main_str[i len(pattern_str)]) - ord(a) # hash_code compute_hash(ab) # print(hash_code:, hash_code) # main_str ad # pattern_str ad main_str aacdesadsdfer pattern_str adsd index RK(main_str, pattern_str) print(子串的位置在:, index) 3.KMP算法 记录最长公共前后缀然后字符串匹配按照这个来时间复杂度On 最长公共前后缀计算 示意 代码: #最长公共前后缀 def pefix_table(pattern):字符串最长公共前后缀思路通过遍历字符串来寻找公共部分当出现不一样的时候 需要回退直到比较首字符 ababcabaa # ababa # aai 0prefix [0]*len(pattern)for j in range(1, len(pattern)):while(pattern[j]!pattern[i] and i0):#循环判断如果发现没有相等就一直回退直到i0也就是首字符i prefix[i-1]if pattern[j] pattern[i]:#相等的話就记录相等的长度i 1prefix[j] ielse:prefix[j] 0#不相等的話就长度长公共前后缀记录为0return prefixdef move_prefix(prefix):real_prefix [-1]*len(prefix)for i in range(len(prefix)-1):real_prefix[i1]prefix[i]return real_prefixstr_ ababcabaa # str_ ababa prefix pefix_table(str_) print(prefix:, prefix) kmp匹配开始 按照b的下标移动会发现前面相似的不需要比对 #最长公共前后缀 def pefix_table(pattern):字符串最长公共前后缀思路通过遍历字符串来寻找公共部分当出现不一样的时候 需要回退直到比较首字符 ababcabaa # ababa # aai 0prefix [0]*len(pattern)for j in range(1, len(pattern)):while(pattern[j]!pattern[i] and i0):#循环判断如果发现没有相等就一直回退直到i0也就是首字符i prefix[i-1]if pattern[j] pattern[i]:#相等的話就记录相等的长度i 1prefix[j] ielse:prefix[j] 0#不相等的話就长度长公共前后缀记录为0return prefixdef move_prefix(prefix):real_prefix [-1]*len(prefix)for i in range(len(prefix)-1):real_prefix[i1]prefix[i]return real_prefix# str_ ababcabaa # # str_ ababa # prefix pefix_table(str_) # print(prefix:, prefix) # prefix move_prefix(prefix) # print(prefix:, prefix)def kmp(main_str,pattern_str):kmp比对i 0j 0n len(pattern_str)while i len(main_str):if j n-1 and main_str[i] pattern_str[j]:print(find pattern at {}.format(i-j))j prefix[j]if main_str[i] pattern_str[j]:i 1j 1else:j prefix[j]if j -1:#找到边界都向右移动一位i 1j 1pattern_str ababcabaa main_str abababcabaababababprefix pefix_table(pattern_str) # print(prefix:, prefix) prefix move_prefix(prefix) print(prefix:, prefix) kmp(main_str, pattern_str) 参考 https://blog.csdn.net/weixin_42698229/article/details/90321230 https://blog.csdn.net/weixin_39561100/article/details/80822208 https://www.bilibili.com/video/BV1hW411a7ys/?spm_id_fromtrigger_reload
http://www.zqtcl.cn/news/669762/

相关文章:

  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司
  • 湛江建设工程交易中心网站企业营销网站建设步骤
  • 网站所有者查询罗湖做网站的公司
  • 网站推广的目标是什么如何提高网站在百度的排名
  • 建设网站基础wordpress 网络图片
  • 深圳网站搜索优化工具义乌公司网站
  • 百度搜索网站带图片sem是什么品牌
  • 百度网盘app下载辽宁seo
  • 一般做网站用什么软件企业管理咨询服务机构
  • 达内培训网站开发金融公司网站 html
  • 珠海网站制作推荐微信营销和微博营销的区别
  • 电影网站如何做5网站建设公司
  • 河南网站优化公司哪家好南山网站设计线
  • 网站构建代码模板番禺网站建设
  • 拟一份饰品网站建设合同网站开发应注意哪些问题
  • 芜湖建站公司做网站的人多吗
  • 网站怎么加二级域名微信授权登录网站退出怎么做
  • 如何把旅行社网站做的好看网站创建方案怎么写
  • 织梦网站图标更换宠物网页设计图片
  • 如何查找网站竞争对手的宣传方式北京网站搭建公司电话
  • 北京正规制作网站公司wordpress 获取图片地址
  • 大学路网站建设推广图片素材
  • wordpress 创建网站搜索引擎优化代理
  • 设计网站用什么软件盈江城乡建设局网站
  • 网站建设模式有哪些内容seo品牌
  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做