当前位置: 首页> 财经> 股票 > 全国大学生创业网登录入口_计算机软件培训机构哪个好_seo技巧优化_外贸怎么找客户资源

全国大学生创业网登录入口_计算机软件培训机构哪个好_seo技巧优化_外贸怎么找客户资源

时间:2025/9/10 4:56:05来源:https://blog.csdn.net/thereisadownloader/article/details/142957643 浏览次数:0次
全国大学生创业网登录入口_计算机软件培训机构哪个好_seo技巧优化_外贸怎么找客户资源

目录

6.5.1 何为模式匹配?

6.5.2 朴素模式匹配算法

6.5.3 越努力越开心


6.5.1 何为模式匹配?

模式匹配是数据结构中字符串的一种基本运算: 给定一个子串,要求在主串中找出与该子串相同的所有子串,这就是模式匹配。举个简单的例子,主串为"中国人不欺压中国人",子串为"中国"。这里的子串即是待匹配的模式, 找出主串"中国人不欺压中国人"中的所有模式"中国",就是一个模式匹配。

6.5.2 朴素模式匹配算法

本节要实现的是一个非常简单的朴素模式匹配算法,我们先来掌握朴素模式匹配算法的基本思想:

从主串的第一个字符起与模式串的第一个字符比较,如果相等,则继续对字符进行后续的比较,否则从主串的第二个字符起与模式串的第一个字符重新比较,不断重复这样的过程,直至模式串中的每个字符依次和主串中的一个连续的字符序列相等为止,此时称为匹配成功,否则匹配失败。

根据以上思想,我们使用Python语言来实现字符串的朴素模式匹配算法:

"""
@author: 薯条老师
@desc: 实现字符串的朴素模式匹配算法
"""# master为主串
master = "中国人不欺压中国人,点赞中国"
# 模式为中国
pattern = "中国"# 通过len方法计算主串和模式串的长度
length_of_master = len(master)
length_of_pattern = len(pattern)# begin为0, 表示从主串的第一个位置开始比较
begin = 0while begin <= length_of_master-length_of_pattern:"""begin为什么要小于等于主串的长度减去模式串的长度?(1) 如果模式串长度大于主串,那么模式串一定不存在,此时length_of_master-length_of_pattern小于0,while后面的表达式为假(2) 如果模式串长度小于等于主串,那么在主串中移动时,最多只移动length_of_master-length_of_pattern的距离。也就是移动到模式串和主串右对齐时的起始位置:中国中国人不欺压中国人"""if master[begin] == pattern[0]:# 定义pos变量,用来保存主串中的起始位置pos = begin# 使用for循环遍历模式字符串中的每一个字符for ch in pattern:# 主串字符在与模式字符比较的过程中,只要一个字符不相等就停止匹配if master[pos] != ch:break# 在主串中每比较完一个字符,就需要往前移动一个位置,所以+1pos += 1else:# for循环结构的else表示在循环中没有执行break后的收尾操作# 既然没有执行break, 就说明找到了模式print(begin)begin += length_of_pattern-1begin += 1

6.5.3 越努力越开心

跟薯条老师学后端开发,高级爬虫(JS逆向+安卓逆向),数据分析,大数据开发,量化交易,以及机器学习+深度学习算法。坚定自己的学习目标,保持学习的热情,那你成为高手只是时间问题。

薯条老师的学生在南方电网,林氏家居,京东,阿里等大厂。想系统学习Python和Java的同学,可以移步薯条老师的个人技术博客:薯条老师的个人技术博客http://www.chipscoco.com/ 对本节教程有任何不懂的同学,亦可在评论区中进行评论。薯条老师会详细解答你们提出的每一个问题。

关键字:全国大学生创业网登录入口_计算机软件培训机构哪个好_seo技巧优化_外贸怎么找客户资源

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: