`
alchimie
  • 浏览: 20451 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

字符串匹配

阅读更多
1.朴素的模式匹配算法( O(n+m)~O(nXm)
/**
	 * @param sStr 源字符串
	 * @param tStr 比较字符串
	 * @return int
	 */
	public static int getIndex(String sStr, String tStr) {
		if (tStr.length() > sStr.length()) {
			return -1;
		}
		if (tStr.length() == sStr.length()) {
			return 0;
		}
		char s[] = sStr.toCharArray();
		char t[] = tStr.toCharArray();
		int sLen = s.length;
		int tLen = t.length;
		int i = 0, j = 0;
		while (i < sLen && j < tLen) {
			if (s[i] == t[j]) {
				i++;
				j++;
			} else {
				// 主字符串指针回退
				i = i - j + 1;
				j = 0;
			}
		}
		
		if (j >= tLen)
			return i - tLen;
		return -1;
	}
分享到:
评论

相关推荐

    C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度

    C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 中文匹配C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算多个句子相似度 C#中文文本...

    带通配符的字符串匹配算法

    在IT领域,字符串匹配是计算机科学中的一个基本问题,尤其在文本处理、数据搜索和模式识别等场景中广泛应用。带通配符的字符串匹配算法则是这个领域的延伸,它允许在模式字符串中包含特殊字符,如星号(*)或问号(?),...

    CUDA程序并行实现字符串匹配的操作

    2. **并行字符串匹配**:在CUDA中实现字符串匹配,关键在于如何有效地分布数据和任务。通常,可以将目标字符串和模式字符串分布在GPU的不同线程块和线程中,每个线程负责一部分匹配工作。例如,在KMP算法中,每个...

    C++ 字符串匹配

    C++ 字符串匹配 C++ 的字符串匹配是计算机科学中非常重要的一部分,它在许多领域都有广泛的应用,如数据压缩、模式识别、文本编辑等。在这一篇文章中,我们将详细介绍 C++ 中的字符串匹配算法,主要包括 Brute ...

    汇编语言-字符串匹配

    在本课程设计中,我们聚焦于一个特定的应用场景:字符串匹配。字符串匹配是计算机科学中一个基础但至关重要的问题,广泛应用于文本处理、搜索引擎、数据安全等领域。在汇编语言中实现字符串匹配,能帮助我们深入理解...

    柔性字符串匹配____中文阴影版PDF

    在深入探讨柔性字符串匹配这一主题之前,我们先来理解一下其基本概念与应用场景。字符串匹配是计算机科学中的一个核心问题,涉及到在一段文本(主字符串)中查找一个或多个模式(子字符串)的过程。传统的字符串匹配...

    Horspool字符串匹配输入增强技术

    【标题】:“Horspool字符串匹配输入增强技术” 在计算机科学中,字符串匹配是一个重要的算法问题,广泛应用于文本处理、搜索引擎、病毒扫描等领域。Horspool字符串匹配算法是一种高效的线性时间复杂度的字符串查找...

    PDF电子书《柔性字符串匹配》

    根据提供的信息,《PDF电子书《柔性字符串匹配》》主要探讨了与字符串匹配相关的算法知识。字符串匹配是计算机科学中的一个核心问题,在文本处理、搜索引擎、生物信息学等多个领域都有着广泛的应用。下面将从不同的...

    汇编语言字符串匹配问题

    在处理字符串匹配问题时,汇编语言能够提供极高的效率和精确的控制。"汇编语言字符串匹配问题"这个主题涉及到的是如何在汇编程序中实现对两个字符串进行比较,判断它们是否相等或者一个字符串是否为另一个的子串。 ...

    入侵检测技术中一种改进的字符串匹配算法的研究

    ### 入侵检测技术中一种改进的字符串匹配算法的研究 #### 概述 随着网络环境的日益复杂化,网络攻击事件频繁发生,如何有效监测和响应这些潜在威胁成为了网络安全领域的重要课题。入侵检测系统(IDS)作为网络安全...

    KMP字符串匹配模板

    ### KMP字符串匹配算法 #### 一、简介 KMP(Knuth-Morris-Pratt)算法是一种高效的字符串搜索算法,由Donald Knuth、James H. Morris和Vaughan Pratt三位计算机科学家共同提出。该算法的主要优点在于它能够有效地...

    字符串匹配算法ppt

    字符串匹配是计算机科学中一个基础且重要的问题,广泛应用于文本搜索、数据分析等领域。在这个主题中,我们将探讨三种经典的字符串匹配算法:穷举法、KMP(Knuth-Morris-Pratt)算法和BM(Boyer-Moore)算法。 1. *...

    有穷自动机字符串匹配小软件

    在这个“有穷自动机字符串匹配小软件”中,开发者利用了这一概念来实现高效的字符串查找功能。VC++是Microsoft开发的一款集成开发环境,常用于编写Windows平台的应用程序,此处显然被用来开发这个小软件。 字符串...

    swift-OC的字符串匹配库.包含KMP匹配AC多模字符串匹配.

    在IT行业中,字符串匹配是计算机科学的一个重要领域,特别是在编程语言如Swift和Objective-C(OC)中。这里我们将深入探讨标题和描述中提到的“KMP匹配”和“AC多模字符串匹配”,以及它们在Swift开发中的应用。 ...

    字符串匹配算法总结

    字符串匹配是计算机科学中的一种基本问题,涉及到对文本数据的搜索和分析。在这个问题中,目标是找出一个较长的字符串(匹配串)中是否存在一个较短的子串(模式串)。这里我们将深入探讨几种常见的字符串匹配算法,...

    安卓字符串匹配加截取

    本文将深入探讨在安卓2.2到5.1.1版本中如何进行字符串匹配与截取,并提供相关的函数说明。 首先,让我们从字符串匹配开始。在安卓中,最常用的字符串匹配方法是使用正则表达式。`java.util.regex`包提供了`Pattern`...

    字符串匹配算法C代码实现

    字符串匹配是计算机科学中一个基础且重要的问题,广泛应用于文本处理、搜索引擎、数据挖掘等领域。在C语言中,实现字符串匹配算法通常涉及到对字符数组的操作和逻辑控制结构。本篇文章将详细探讨四种常见的字符串...

    汇编语言课程设计--字符串匹配

    汇编语言课程设计--字符串匹配 本课程设计的主要目的是为了让学生增进对汇编语言的认识,加强用汇编语言编程的能力,掌握汇编语言的中断调用功能的应用,并了解和掌握汇编语言程序设计过程、方法及实现。课程设计的...

Global site tag (gtag.js) - Google Analytics