字符串搜索算法

✍ dations ◷ 2025-11-17 21:59:48 #字符串匹配算法

字符串搜索算法(String searching algorithms)又称字符串比对算法(string matching algorithms)是一种搜索算法,是字符串算法中的一类,用以试图在一长字符串或文章中,找出其是否包含某一个或多个字符串,以及其位置。

最直观的解法是比对,如下例中,在字符串haystack中找出字符串needle

char* haystack;char* needle;int hlen, nlen, found;int i,j,k;found = 0;hlen = strlen(haystack);nlen = strlen(needle);for (i = 0; i < hlen; ++i) {    for (j = 0; j < nlen; ++j) {        if (haystack != needle) break;        if (j == nlen - 1) found = 1;    };};return found;

上例中,若字符串needle存在于字符串haystack中,则传回1,否则传回0。

但是此直观算法的复杂度为 O(mn),其中haystack的长度为n、needle的长度为m,所以另有更快速的算法。

令 为模式的长度, 为要搜索的字符串长度, 为字母表长度。

相关

  • 宗教哲学宗教哲学(英语:philosophy of religion)是对宗教以及其所包含的问题和观念的哲学思考。宗教哲学所研究的课题包括:神的存在与否、神的属性、宗教与科学的关联、宗教与道德的关联
  • HER21MFG, 1MFL, 1MW4, 1N8Z, 1QR1, 1S78, 2A91, 2JWA, 2KS1, 2L4K, 3BE1, 3H3B, 3MZW, 3N85, 3PP0, 3RCD· protein tyrosine kinase activity · transmembrane receptor pro
  • 刘易斯·汤普森·普雷斯顿刘易斯·汤普森·普雷斯顿(Lewis Thompson Preston,1926年8月5日-1995年5月4日)生于纽约市,美国银行家,曾任世界银行行长,逝世于华盛顿特区。
  • 女青国防部女青年工作大队,简称女青年大队或女青,为中华民国国军的政治作战下辖单位,隶属国防部总政治作战部(今改称政治作战局)政治作战总队,是国军唯一一支执行面对面宣教以及辅导咨
  • 陶氏杜邦陶氏杜邦(英语:DowDuPont Inc.,NYSE:DWDP)是一家美国化学工业公司。2017年8月31日,由当时陶氏化工和杜邦以换股方式合并,以销售量为全球最大化学企业公司。而在18个月后,该公司按业
  • 化学废料化学废料是一种或由有害化学物质组成,多数由大型工厂产生的废料。化学废料可以是有害废物(英语:Hazardous waste)的一种。
  • 南朝鲜劳动党已消亡已放弃共产主义意识形态已消亡已放弃共产主义意识形态已消亡已放弃共产主义意识形态已消亡已消亡已放弃共产主义意识形态南朝鲜劳动党(朝鲜语:남조선로동당/南朝鮮勞動黨
  • 可兑换比索可兑换比索(Peso Convertible),是古巴的一种货币,货币符号为CUC。类似于中国大陆以前的外汇券。可兑换比索在2004年古巴禁止美元流通以前与美元等值,至2017年时,若以美金直接兑换
  • 异齿龙异齿龙属(属名:Dimetrodon)又名异齿兽、长棘龙、两异齿龙,是肉食性合弓动物(似哺乳爬行动物)的一属,生存于二叠纪(阿瑟尔期到罗德期),约2亿9500万-2亿7000万年前。异齿龙与哺乳类的关
  • 托马斯·闵采尔托马斯·闵采尔(德语:Thomas Müntzer;约1489年12月–1525年5月27日),是宗教改革时期的激进派领袖,是发动德意志农民战争的代表人物。“把宗教改革运动和社会革命联系到了一起”。