当前位置: 首页 > news >正文

字符串匹配算法比较

#include <stdio.h>
#include <string.h>
#include <stdlib.h>#define MAX_TEXT_LEN 1000005
#define MAX_PATTERN_LEN 100005char text[MAX_TEXT_LEN];
char pattern[MAX_PATTERN_LEN];
int next[MAX_PATTERN_LEN];void buildNext(char *p, int m) {int j = 0;next[0] = 0;for (int i = 1; i < m; i++) {while (j > 0 && p[i] != p[j]) {j = next[j - 1];}if (p[i] == p[j]) {j++;}next[i] = j;}
}char* kmpSearch(char *t, int n, char *p, int m) {if (m == 0) return NULL;buildNext(p, m);int j = 0;for (int i = 0; i < n; i++) {while (j > 0 && t[i] != p[j]) {j = next[j - 1];}if (t[i] == p[j]) {j++;}if (j == m) {return &t[i - m + 1];}}return NULL;
}int main() {if (scanf("%s", text) != 1) return 0;int n_len = strlen(text);int n;if (scanf("%d", &n) != 1) return 0;while (n--) {scanf("%s", pattern);int m_len = strlen(pattern);if (m_len > n_len) {printf("Not Found\n");continue;}char *result = kmpSearch(text, n_len, pattern, m_len);if (result != NULL) {printf("%s\n", result);} else {printf("Not Found\n");}}return 0;
}

 

http://www.jsqmd.com/news/133441/

相关文章:

  • MCreator终极教程:零代码制作Minecraft模组的完整解决方案
  • 快速上手AITrack:头部追踪系统完整配置手册
  • Kali渗透实战:3分钟搞定Kali_Linux安装,超详细,从零基础入门到精通,收藏这一篇就够了!
  • Open-AutoGLM智体电脑技术白皮书(内部首发版):9大关键技术指标首次公开
  • 专业电路设计工具DIY Layout Creator完整使用手册
  • YOLOv8 ROS 2 工程化部署与性能优化指南
  • 跨平台直播聚合工具Simple Live:一站式观看体验全解析
  • 通信系统中滤波器的模拟电子技术实现:操作指南
  • dll存放系统文件夹位置
  • 2025空间辐射整改技术哪家好?EMC整改电感工厂实力榜单 - 栗子测评
  • 重新定义Switch音乐体验:TriPlayer沉浸式使用全攻略
  • 版本管理策略与最佳实践:构建稳定可靠的开发环境
  • 魔兽地图转换终极指南:W3x2Lni工具使用全解析
  • Node-RED Dashboard完整构建指南:从零到精通的5个实战技巧
  • 支持UEFI的网络克隆工具——局域网批量装系统利器,替代Ghost的高效PXE网刻软件
  • 终极Windows 10优化脚本:一站式系统清理与性能提升解决方案
  • 5个技巧让你的Mac窗口管理效率翻倍
  • 揭秘Open-AutoGLM部署全流程:手把手教你避坑并实现一键部署
  • 【无功优化】基于多目标差分进化算法的含DG配电网无功优化模型【IEEE33节点】(Matlab代码实现)
  • Windows优化终极指南:一键加速系统的完整解决方案
  • 架构升级:Chromium内核重构Android WebView技术栈
  • 渔人的直感:FF14钓鱼计时器如何轻松捕获稀有鱼王
  • 【ICPSAP出版 | EI检索】第五届工程管理与信息科学国际学术会议 (EMIS 2026)
  • 【Open-AutoGLM操控GUI终极指南】:掌握AI驱动图形界面的5大核心技巧
  • 流程引擎:PDM工作流如何重塑研发协作与效率
  • 2025船用空调海洋平台空调品牌厂家排名TOP5 - 栗子测评
  • GPT-SoVITS模型版本兼容性问题排查手册
  • GPT-SoVITS语音合成在短视频配音中的爆发式应用
  • Open-AutoGLM本地化部署核心难点突破,资深架构师不愿公开的技术细节
  • 拓扑排序