通用文本算法库的设计论文

通用文本算法库的设计论文

ID:6198436

大小:246.00 KB

页数:50页

时间:2018-01-06

通用文本算法库的设计论文_第1页
通用文本算法库的设计论文_第2页
通用文本算法库的设计论文_第3页
通用文本算法库的设计论文_第4页
通用文本算法库的设计论文_第5页
资源描述:

《通用文本算法库的设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、通用文本算法库的设计毕业论文目录第一章工程结构说明1第二章源程序头文件2Base.h2Queue.h2ExactMatchingS.h3Automata.h4ExactMatchingM.h5RegularExpression.h5SuffixArray.h7ExtendKMP.h8DES.H8DoubleHash.h10第三章源程序代码文件12ExactMatchingS.cpp12ExactMatchingM.cpp20Automata.cpp23RegularExpression.cpp26Su

2、ffixArray.cpp33DES.cpp39DoubleHash.cpp45ExtendKMP.cpp4749通用文本算法库的设计——代码清单第三章源程序代码文件第一章工程结构说明整个工程由10个头文件以及8个源文件组成,可在VisualC++或者GCC下编译。头文件中含有所有的函数声明,而源文件中则是所有函数的具体实现。该工程的结构如下图所示:49通用文本算法库的设计——代码清单第三章源程序代码文件第二章源程序头文件Base.h//Base.h//头文件包含及基础数据结构,头文件//by赵扶摇#

3、include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#defineMAX_RANGE256#defineMAX_PATT

4、ERN_LENGTH1024#defineMAX_TEXT_LENGTH100000#defineMAX_LOGN20#defineFAIL-1#defineEPSILON1#defineMAX_REP50#defineMACHINE_WORD_LENGTH32#defineLOG_20.693147//ln(2)的大小#definelog_2(a)(int)(log((double)(a))/LOG_2)#definenewArray(type,p,size,val){(p)=newtype[(si

5、ze)];memset(p,(val),sizeof(type)*(size));}Queue.h//Queue.h//队列,头文件//by赵扶摇#pragmaonce49通用文本算法库的设计——代码清单第三章源程序代码文件typedefstruct{intcurr;intparent;charlabel;}QueueNode;//专用队列节点#defineEnQueue(Q)(&(Q[rear++]))//取得要记录的节点#defineDeQueue(Q)(&(Q[front++]))#define

6、EmptyQueue()(rear==front)#defineInitQueue(Q,size){Q=newQueueNode[(size)];rear=front=0;}ExactMatchingS.h//ExactMatchingS.h//多串精确模式匹配,头文件//by赵扶摇#pragmaonce#include"Base.h"//Shift-And算法voidShiftAnd(char*t,char*p,intn,intm,intres[],intcnt);//ShiftOr算法voidSh

7、iftOr(char*T,char*P,intn,intm,intres[],intcnt);//暴力算法voidNaive(char*t,char*p,intn,intm,intres[],intcnt);//RabinKarp算法voidRabinKarp(char*t,char*p,intn,intm,intres[],intcnt);//更快的RabinKarp匹配版本voidRabinKarpFaster(char*t,char*p,intn,intm,intres[],intcnt);//

8、自动机的建立voidBuild_DFA(char*P,intm,inttrans[][MAX_PATTERN_LENGTH]);//使用前向自动机的匹配算法voidPrefixFiniteAutomata(char*T,char*P,intn,intm,intres[],intcnt);//KMP算法预处理函数voidpreKmp(char*P,intm,intkmpNext[]);//KMP算法voidKMP(char*P,intm,char*T,in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。