第12部分高级数据结构学习课件.pptVIP

  • 4
  • 0
  • 约 64页
  • 2016-12-06 发布于江苏
  • 举报
int KMPStrMatching(const String T,const String P,int *N) { int i=0, j=0; int pLen=P.length(); //模式长度 int tLen=T.length(); //主串长度 if (tLenpLen) return -1; while (ipLenjtLen){ if (i==-1||P[i]==T[j]) {i++;j++;} else i=N[i]; } if (i=pLen]) return (j-pLen+1); else return -1; } 尽管时间复杂度为O(m*n), 但接近O(m+n)。 * 英文字符树 一棵子树代表具有相同前缀的关键码的集合。例如“an”子树代表具有相同前缀an-的关键码集合{and,ant} 字符树的改进 由于单词可能不等长 ,所以更好的存储是其内部结点不存储单词信息,只有叶结点才存储单词信息 字符树中的检索 首先用待查关键码的第一个字符与森林的各个根的字符相比较。 然后下一步的检索在前次比较相等的那棵树上进行.其中,用待查关键码的第二个字符与选定的这棵树的根的各个子结点进行比较。 接着再沿着前次

文档评论(0)

1亿VIP精品文档

相关文档