清华大家:字符串匹配算法(PPT讲稿)String Matching Algorithm(Overview & Analysis)

String Matching algorithm Overview& Analysis By cyclone@ NSlab, RIIT Sep.62008
String Matching Algorithm Overview & Analysis By cyclone @ NSlab, RIIT Sep. 6 2008

Structure ● Algorithm overview o Performance experiments o Solution and future work o Bibliography and resources
Structure ⚫Algorithm overview ⚫Performance experiments ⚫Solution and future work ⚫Bibliography and resources

Algorithm Overview
Algorithm Overview

Definition o Given an alphabet bet S, a pattern P of length m and a text T of length n, find if P is in Tor the position( s)p matches a substring of T, where usually m<<n o Considering the pattern P Ostring exact string matching O string with errors approximate string matching O regular expression regular expression matching
Definition ⚫ Given an alphabet bet S, a pattern P of length m and a text T of length n, find if P is in T or the position (s) P matches a substring of T, where usually m<<n ⚫ Considering the pattern P string exact string matching string with errors approximate string matching regular expression regular expression matching

Categories ● Category1 O Single string matching algorithms O Multiple string matching algorithms o Category 2 O Prefix based algorithms O Suffix based Algorithms O Factor based Algorithms o Category 3 O Automaton based algorithms O Trie based algorithms O Table based algorithms
Categories ⚫ Category 1 Single string matching Algorithms Multiple string matching Algorithms ⚫ Category 2 Prefix based Algorithms Suffix based Algorithms Factor based Algorithms ⚫ Category 3 Automaton based Algorithms Trie based Algorithms Table based Algorithms ⚫ ……

Prefix based algorithms b o The search is done forward in the search window o Search for the longest prefix of the window Which is also a prefix of the pattern(s) oall the characters are read
Prefix based algorithms ⚫The search is done forward in the search window ⚫Search for the longest prefix of the window which is also a prefix of the pattern(s) ⚫all the characters are read

Suffix based algorithms o The search is done backwards along the search window Search for the longest suffix of the window which is also a suffix of the pattern(s) not all the characters are read which leads to sublinear average-case algorithms
Suffix based algorithms ⚫The search is done backwards along the search window ⚫Search for the longest suffix of the window which is also a suffix of the pattern(s) ⚫not all the characters are read, which leads to sublinear average-case algorithms

Factor based algorithms a o The search is done backwards along the search window o Search for the longest suffix of the window which is also a factor of the pattern(s) o not all the characters are read o Require to recognize the set of factors of the pattern( s)and this is quite complex
Factor based algorithms ⚫ The search is done backwards along the search window ⚫ Search for the longest suffix of the window which is also a factor of the pattern(s) ⚫ not all the characters are read ⚫ Require to recognize the set of factors of the pattern(s) and this is quite complex

Roadmap Single Multiple Prefix KMP AC_、A6 C Modified BⅣ CW(AC_BM) Suffix →SBMH BMH WM Factor BDM SBDM BOM SBOM
Roadmap

KMP ●MP: border the longest prefiⅸ v of the pattern which is also the suffix of the portion u of the text ●KMP: Longest border add“C(u+1) not equal to C(v+1)
KMP ⚫ MP: border the longest prefix v of the pattern which is also the suffix of the portion u of the text ⚫ KMP: Longest border add “C (u+1) not equal to C(v+1)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- Flexsim 初级培训讲义(PPT讲稿)Flexsim Basic Training.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第2章 数据类型及基本运算量.ppt
- 《软件测试 Software Testing》教学资源(PPT讲稿)Part 2 Testing Fundamentals.ppt
- 《计算机网络安全技术》课程教学资源(PPT课件讲稿)第五章 防火墙技术.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一讲 绪论.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 01 From C to C++.ppt
- 上海交通大学:《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿,第三版)Chapter 12 Object Recognition.pptx
- 《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第4章 算法控制结构.ppt
- 沈阳理工大学:《大学计算机基础》课程教学资源(PPT课件讲稿)第3章 编辑排版软件(Microsoft Word 2000).pps
- 《操作系统》课程教学资源(PPT课件讲稿)内存管理 Memory Management.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第一章 电子商务基础知识(主讲:贾朝辉).pptx
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 机器无关的优化(赵建华).ppt
- 《计算科学基础研究》课程教学资源(PPT课件讲稿)类的定义.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第9章 模块化开发.ppt
- 利用EXCEL进行数据分析与图表处理(PPT讲稿).pptx
- 北京师范大学:《多媒体技术基础》课程教学资源(PPT课件讲稿)第二章 数字图像(曾兰芳).ppt
- 上海交通大学:《通信网络》课程PPT教学课件(Communication Networks)Introduction(主讲:叶通).pptx
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第4章 循环控制.ppt
- 《单片机原理及应用》课程教学资源(PPT课件讲稿)第6章 AT89S52单片机的串行口.ppt
- 四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第3章 Shell及其编程(主计:潘薇).ppt
- 面向对象程序设计语言(PPT课件讲稿).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)C++语言的面向对象特征、Java语言的面向对象特征、Python语言的面向对象特征、R语言的面向对象特征.ppt
- 安徽理工大学:《Linux开发基础 Development Foundation on Linux OS》课程教学资源(PPT课件讲稿)GNU C/C++ programming、CGI programming in GNU C/C++ language(方贤进).ppt
- 《Photoshop基础教程与上机指导》课程教学资源(PPT讲稿)第8章 简单编辑图像.ppt
- 中国科学技术大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第五章 虚拟存储器(主讲:李曦).ppt
- 中国科学技术大学:《计算机视觉》课程教学资源(PPT课件讲稿)第七章 基于运动视觉的场景复原.ppt
- 计算机应用基础课程:《信息技术应用基础》教学资源(PPT课件讲稿)第一章 中文WIN98操作系统.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第十一章 复位、时钟和省电方式控制.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第6章 Data-Level Parallelism in Vector, SIMD, and GPU Architectures.ppt
- 北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)并发程序设计语言.ppt
- 北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)第三章 过程式程序设计语言.ppt
- 《微机原理及应用》课程教学资源(PPT课件讲稿)第4章 汇编语言程序设计.pptx
- 清华大学出版社:普通高校本科计算机专业特色教材精选《智能技术》课程教学资源(PPT讲稿课件)第4章 模糊逻辑技术(曹承志).ppt
- 《C++大学教程》课程教学资源(PPT课件讲稿)Chapter 17 文件处理 File Processing.ppt
- 《网站开发》课程教学资源(PPT课件讲稿)网站开发各阶段的任务.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第十章 文件、外部排序与外部搜索.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 2 Protocol Architecture - TCP/IP model and OSI Model.ppt
- 南京理工大学:《数据挖掘与处理 Data Mining and Data Processing》课程教学资源(PPT课件讲稿)第一章 数据科学与数据挖掘(张正军).ppt
- 清华大学:A Heterogeneous Accelerator Platform for Multi-subject Voxel-based Brain Network Analysis(PPT讲稿).pptx