数据结构和算法设计关系.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构和算法设计关系

据结构与算法设计关系 摘要:分别介绍数据结构和算法设计研究的内容,以及两者之间的联系和区别,最后举例说说明两者之间的联系。 关键词:数据结构 算法设计 存储 复杂度 正文: 一,数据结构研究的内容 在大二的时候,我们学习了《数据结构教程》课程,从中我们知道了,数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。算法是精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。#includeiostream.h #includeiomanip.h #includestdio.h #includestdlib.h #includestring.h #define MAXSTRLEN 64 void GetNext(char T[MAXSTRLEN],int (next)[64]) {int i,j;i=1;next[1]=j=0; while(i(int)T[0]) if(j==0||T[i]==T[j]) {++i;++j;next[i]=j;} else j=next[j]; for(j=1;j(int)T[0];j++) {printf(next[%d]=%-3d,j,next[j]); if((j)%5==0) printf(\n);} coutendl; } void GetNext(char T[MAXSTRLEN],int (next)[64],int m) {int i,j;i=0;next[0]=-1; for(j=1;jm;j++) {i=next[j-1]; while(T[j]!=T[i+1]i=0) i=next[i]; if(T[j]==T[i+1]) next[j]=i+1; else next[j]=-1;} for(j=0;j=m;j++) {printf(next[%d]=%-3d,j,next[j]); if((j+1)%5==0) printf(\n);} coutendl; } void GetNextV al(charT[MAXSTRLEN],int (next)[64]) {int i,j;i=1;next[1]=j=0; while(i(int)T[0]) if(j==0||T[i]==T[j]) {++i;++j; if(T[i]!=T[j]) next[i]=j; else next[i]=next[j];} else j=next[j]; for(i=1;i(int)T[0];i++) {printf(next[%d]=%-3d,i,next[i]); if(i%5==0) coutendl;} coutendl; } int IndexKMP(char S[MAXSTRLEN],char T[MAXSTRLEN],int (next)[64]) {int i,j,n,m;i=j=1; n=(int)S[0];m=(int)T[0]; while((in||jm)T[j]!=\0S[i]!=\0) if(j==0||S[i]==T[j]) {++i;++j;} else j=next[j]; if(j=m) return i+1-m; else return 0; } int IndexKMP(char S[MAXSTRLEN],char T[MAXSTRLEN],int (next)[64],int pos) {int i,j;i=pos;j=1; while((i(int)S[0]||j(int)T[0])T[j]!=\0S[i]!=\0) if(j==0||S[i]==T[j]) {++i;++j;} else j=next[j]; if(j=(int)T[0]) return i+1-(int)T[0]; else return 0; } int IndexKMP(char S[MAXSTRLEN],char T[MAXSTRLEN],int (next)[64],int n,int m) {int i,j;i=j=0; while(injm) if(S[i]==T[j]) {++i;++j;} else if(j==0) i++; else j=next[j-1]+1; if(jm) return -1; else return i-m+1; } int IndexBF(char S[MAXSTRLEN],char T[MAXSTRLEN],int pos) {int i,j;i=pos;j=1; while(i=S[0]j=T[0]) if(S[i]==T[j]) {++i;++j;} else {i=i-j+2;j=1;} if(jT[0]) return i-T[0]; else

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档