欢迎来到天天文库
浏览记录
ID:44229781
大小:240.48 KB
页数:9页
时间:2019-10-19
《Boyer-Moore算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、算法实验报告:BoyerMoore葬法的实现学生学院计算机学院专业班级学号学生姓名指导教师2011年1月6日计算机学院计算机科学与技术专业2班组、学号姓名—协作者教师评定实验题目一、实验目的与要求通过本次实验,能进一步地去了解算法设计和分析课程这种一般性问题求解方法的课程,从而学会如何应用特定的策略解决问题。具体要做到以下几点:1•熟悉Boyer-Moore算法的实现开彳式2.了解Boyer-Moore算法的效率二、实验内容用程序去实现Boyer-Moore算法,实现搜索功能。使用语言:C#编程环境:Visualstudio2010测试窗口:运用winF
2、orm1.项整个工程分为两部分:类库stringsearch中StringSearchTool.cs类是字符搜索类,BoyerMoore.cs是具体的搜索方法。类Boyer-Moore是Winform程序。决方案交浪管理器-?X3I3到巨直'芳屛矣方gBoyer・Moore”(l个项j0Boyer-Moore▲丄Properties也Assemblylnfo.csD/Resources.resxt>jjSettings.settingst>』引用也BoyerMoore.es曹BoyerMooreTool.esj囿Forml.cs岂Forml.Design
3、er.esForml.resx凹Program.cs2.设计方案(1)BoyerMooreTool.cs//抽象类usingSystem;usingSystem・Collections.Generic;usingSystem・Linq;usingSystem.Text;namespaceBoyerMoore{publicabstractclassBoyerMooreTool{publicenumSearch{N0T_F0UND,SEARCH_EXACT,SEARCHCASHLESS}protectedSearchsearch;protectedStrin
4、gpattern;publicstringPattern{get{returnpattern;}set{//大小写暂时无用处if(search—Search.SEARCH_CASELESS){pattern=value;pattern.ToUpper();}else{pattern=value;}}}publicBoyerMooreTool(){search=Search.SEARCHCASELESS;pattern二null;}publicBoyerMooreTool(stringp)search=Search.SEARCHCASELESS:patte
5、rn=p;}publicBoycrMoorcTool(stringp,Searchtype){search二type;pattern二p;}publicintgctPatternLcngth(){returnpattern.Length;}publicSearchgetSearchType(){returnsearch;}publicintfind(stringtarget){returnfind(target,0);}publicabstractintfind(stringtarget,intstart);}}2、BoyerMoore・csusingS
6、ystem;usingSystem・Collections・Generic;usingSystem・Linq;usingSystem.Text;namespaceBoyerMoore{publicclassBoyerMoore:Boyer_Moore.BoyerMooreTool{protectedint[]delta;privatestaticreadonlyintDELTASIZE=65536;publicBoyerMoore():base(){}publicBoyerMoore(stringp):base(p){}publicBoyerMoore(
7、stringp,Searchtype):base(p,type)publicoverrideintfind(stringtarget,intstart){if((pattern二二null)
8、
9、(start<0))return(int)Search.NOT_FOUXD;Stringtarget2;//辻(scarch==Scarch.SEARCH_CASELESS)//target2=target.ToUpperO;//elstarget2二target;intt=start+pattern.Length;while(t<=targct2.Length)
10、{intp二pattern.Length;whi1e(pattern[p-1]=
此文档下载收益归作者所有