判断题子串定位函数的时问复杂度在最坏情况下为0(n×m)因此子串定位函数没有实际使用的价值。A对B错

判断题
子串定位函数的时问复杂度在最坏情况下为0(n×m)因此子串定位函数没有实际使用的价值。
A

B


参考解析

解析: 暂无解析

相关考题:

●试题五阅读以下程序说明和C程序,将应填入(n)处的子句,写在答卷纸的对应栏内。【程序说明】函数int commstr(char *str1,char *str2,int *sublen)从两已知字符串str1和str2中,找出它们的所有最长的公共子串。如果最长公共子串不止1个,函数将把它们全部找出并输出。约定空串不作为公共子串。函数将最长公共子串的长度送入由参数sublen所指的变量中,并返回字符串str1和str2的最长公共子串的个数。如果字符串str1和str2没有公共子串,约定最长公共子串的个数和最长公共子串的长度均为0。【程序】int strlen(char *s){char *t=s;while(*++);return t-s-1;}intcommstr(char)*str1,char *str2,int *sublen{char*s1,*s2;int count=0,len1,len2,k,j,i,p;len1=strlen(str1);len2=strlen(str2);if(len1len2){s1=str1;s2=str2;}else{len2=len1;s1=str2;s2=str1;}for(j=len2;j0;j--)/*从可能最长子串开始寻找*{for(k=0; (1) =len2;k++)/*k为子串s2的开始位置*/{for(i=0;s1[ (2) ]!='\0';i++;)/* i为子串s1的开始位置*/{/* s1的子串与s2的子串比较*/for(p=0;pj) (3) ;p++);if ( (4) )/*如果两子串相同*/{for(p=0);pj;p++}/*输出子串*/printf("%c",s2[k+p]);printf("\n");count++;/* 计数增1*/}}}if (count0)break;*sublen=(count0)? (5) :0;return count;}

设有两个串T和P,求P在T中首次出现的位置的串运算称作()。 A、联接B、求子串C、字符定位D、子串定位

设串sl=〃DataStructureswithJava〃,s2=〃it〃,则子串定位函数index(s1,s2)的值为()。 A、15B、16C、17D、18

在目标串T〔0..n-1〕=〃xwxxyxy〃中,对模式串P〔0..m-1〕=〃xy〃进行子串定位操作的结果是()。 A、0B、2C、3D、5

编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为as,则应当输出6。注意:部分源程序给出如下。请勿改动主函数main和具他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>include <string.h>int fun(char *str, char *substr){}main ( ){char str[81],substr[3];int n;clrscr ();printf ("输入主字符串 ");gets (str);printf ("输入子字符串");gets (substr);puts (str);puts (substr);n=fun (shr, substr);printf("n=%d\n ",n);}

在VBScript中,能够获取字符串的子串的内部函数有()。 A、InStrB、LeftC、RightD、Mid

编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。函数ReadWrite()实现从文件in.dat中读取两个字符串并调用函数findStr(),最后把结果输出到文件out.dat中。注意:部分程序已经给出。请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。include <stdio.h>include <string.h>include <conio.h>int findStr(char *str,char *substr){}main(){char str[81],substr[3];int n;clrscr();printf("输入原字符串");gets(str) ;printf("输入子字符串:");gets(substr);puts(str);puts(substr);n=findStr(str, substr);printf("n=%d\n", n);ReadWrite();}ReadWrite(){char str[81],substr[3],ch;int n, len,i=0;FILE *rf, *wf;rf=fopen("in.dat", "r");wf=fopen("out.dat", "w");while(i<25){fgets(str, 80, rf);fgets(substr, 10, rf);len=strlen(substr)-1;ch=substr[len];if(ch=='\n' || ch==0xla)substr[len]=0;n=findStr(str, substr);fprintf(wf, "%dkn", n);i++;}fclose(rf);fclose(wf);}

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】设串s和串t采用顺序存储结构,编写函数实现串s和串t的比较操作,要求比较结果包括大于、小于和等于3种情况。【函数】int StrCompare(SStrType s, SStrType t){int n=s.length, m=(1), i,j,tag;i=0; j=0;while((2)){if((3)){i++;j++;}else if(s.str[i]>t.str[j]){tag=1;return tag;}else{tag=-1;return tag;}}if(n==m)tag=0;else if((4))tag=1;else if(n<m)tag=-1;(5);}

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。【说明】下面流程图的功能是:在已知字符串A中查找特定字符串B,如果存在,则输出B串首字符在A串中的位置,否则输出-1。设串A由n个字符A(0),A(1),…,A(n-1)组成,串B由m个字符B(0),B(1),…,B(m-1)组成,其中n≥m>0。在串A中查找串 B的基本算法如下:从串A的首字符A(0)开始,取子串A(0)A(1)…A(m-1)与串B比较;若不同,则再取子串A(1)A(2)…A(m)与串B比较,依次类推。例如,字符串“CABBRFFD”中存在字符子串“BRF”(输出3),不存在字符子串“RFD”(输出-1)。在流程图中,i用于访问串A中的字符(i=0,1,…,n-1),j用于访问串B中的字符(j=0,1,…,m-1)。在比较A(i)A(i/1)…A(i+m-1)与B(0)B(1)…B(m-1)时,需要对 A(i)与B(0)、A(i+1)与B(1)、…、A(i+j)与B(j)等逐对字符进行比较。若发现不同,则需要取下一个子串进行比较,依此类推。【流程图】

阅读以下程序说明和C程序,将应填入(n)处的子句,写在对应栏内。【程序说明】函数int commstr(char * str1,char * str2,int * sublen)从两已知字符串str1和str2中,找出它们的所有最长的公共子串。如果最长公共子串不止1个,函数将把它们全部找出并输出。约定空串不作为公共子串。函数将最长公共子串的长度送入由参数sublen所指的变量中,并返回字符串str1和str2的最长公共子串的个数。如果字符串str1和str2没有公共子串,约定最长公共子串的个数和最长公共子串的长度均为0。【程序】int strlen(char * s){char *t=s;while( * ++);return t-s-1;}int commstr(char) *str1,char *str2,int *sublen{ char*s1, *s2;int count=0,len1 ,len2,k,j,i,p;len1:=strlen(str1)len2 = strlen(str2);if(len1>len2){s1=str1 ;s2=str2;}else {len2 = len1;s1 = str2;s2 = str1;}for(j=len2;j>0;j--) /*从可能最长子串开始寻找*/{for(k=0;(1)<:len2;k++) /*k为子串s2的开始位置*/{for(i=0;s1[(2)]!='\0';i++;) /*i为子串s1的开始位置*/{ /*s1的子串与s2的子串比较*/for (p=0;p<j)(3);p++);if ((4)) /*如果两子串相同*/{for(p=0);p<j;p++} /*输出子串*/printf ("%c",s2[k+p]);printf ("\n");count++;/*计数增1 */}}}if (count>0) break;*sublen=(count>0)?(5):0;return count;}

串的基本操作包括() A、连接B、求串长C、串比较D、子串定位E、串复制

写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。

以下能从字符串“VisualBasic”中直接取出子字符串“Basic”的函数是( )。A.LeftB.MidSX 以下能从字符串“VisualBasic”中直接取出子字符串“Basic”的函数是( )。A.LeftB.MidC.StringD.Instr

若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )。A.O(1)B.O(n)C.O(n2)D.0(n3)

在目标串T[0,n-1]=”xwxxyxy”中,对模式串p[0,m-1]=”xy”进行子串定位操作的结果_______A.0B.2C.3D.5

给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

设有两个串T和P,求P在T中首次出现的位置的串运算称作【】A.联接B.求子串C.子串定位D.字符定位

设串s1="Data Structures、with Java",s2="it",则子串定位函数index(s1,s2)的值为 ( )A.15B.16C.17D.18

子串定位函数的时问复杂度在最坏情况下为0(n×m)因此子串定位函数没有实际使用的价值。

在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是()。

若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为()。

子串的定位运算称为串的模式匹配;()称为目标串,()称为模式。

两个字符串S1和S2的长度分别为m和n,求这两个字符串最大共同子串的时间复杂度为T(m,n),这最优的时间复杂度为()。

填空题若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为()。

多选题以下关于字符串函数的描述中,正确的是()Aappend函数用于在已有的字符串末尾添加新的内容Binsert函数的作用是在字符串的某个位置插入一个字符CsetCharAt函数的作用是将String或StringBuffer字符串的某个字符串替换Dreplace函数的作用是替换一段子串 E delete函数用语删除整个字符串

填空题在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是()。

填空题两个字符串S1和S2的长度分别为m和n,求这两个字符串最大共同子串的时间复杂度为T(m,n),这最优的时间复杂度为()。