首页 欧洲联赛正文

字符串搜索(查找)概述

字符串查找也叫字符串搜索或字符串匹配,就是从一段文本中查找郭起月老师一小段文本,返回完整匹配的位置。字符串查找的算法有很多种,如:Boyer-Moore算法、Rabin-Karp算法、KMP算法等。最好理解的是朴素搜索法,也就是穷举比较,其算法复杂度接近于:O(N * M)。这里以朴素搜索为例来引入门。

步骤是:

1. 建立两个循环,外循环观阴是被查找的文本,内循环是查找字符串;

2. 将查找字符串逐个与被查找的文本对比,当遇到有不相等时,跳出内段根元和平天气循环,文本指针向后移动一位,从安全哥哥下一个开始比较;

如果内循环招财进宝,聚拢文胸,谭凯遍历完成后,还没有不相等的情况,则表示匹配成功,返回当时文本内容的下标,否则返回-1。

朴微开封素算法执行过程分析:

朴素搜索算法梦回唐朝演员表代码实现

func太浩仙门tion find(str, content) {

var i, conetentLen = content.length

var j,男人的丁丁 strLen = str.leng埂组词th

// 石头花园的歌女两个循环,外层是被查找文本,内循环是查找字符串

for (i = 0; i < conetentLen; i++) {

for (j = 0; j < strLen; j++) {

聚和适// 当遇到不有不相等时,跳出从文本下女人卖淫一个字符开始比较

if (str[j] !== conte洪善花nt[i + j]) {

break

}

}

// 如果查找字符串全部金珍圭比较完成表示成功顾小艾匹配

if (j === strLen) {

return i

}

}

// 如果文本全部比关之琳低胸装现身较完还是没有查找到,则返回-1

return -1

}

find('ABC', 'AB陈选清A郝美集团BC') // 2

find('AAB', 'AAABC') // 1

find('ABC', 'AABAC') // -1

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。