Python-数据结构与算法-Brute-Force算法


前言

本文介绍了Python-数据结构与算法中的Brute-Force算法的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Brute-Force算法是什么?

Brute Force算法,即暴力算法,是普通的模式匹配算法,Brute Force算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。Brute Force算法是一种蛮力算法。

二、使用步骤

1.实现代码

代码如下(示例):

#朴素匹配算法(Brute-Force算法)
def BF(S,P):
    #S是目标串,P是模式串
    #功能:模式匹配,在S里面匹配P,如果匹配成功,返回索引;匹配失败,返回-1
    #指针i指向目标串S
    i = 0
    #指针j指向目标串P
    j = 0
    while i < len(S) and j < len(P):
        if S[i] == P[j]:
            j += 1
            i += 1
        else:
            i = i - j + 1
            j = 0

    if j == len(P):
        index = i - j
    else:
        index = -1
    return index


if __name__=="__main__":
    S = "abcdefghijkl"
    A = "cdefg"
    B = "defg"
    C = "hha"
    print(BF(S,A))

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Brute-Force算法的使用,而KMP算法提供了能使我们快速便捷地处理数据的函数和方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TensorTinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值