【考研类试卷】计算机专业基础综合数据结构(串)历年真题试卷汇编1及答案解析.doc
《【考研类试卷】计算机专业基础综合数据结构(串)历年真题试卷汇编1及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机专业基础综合数据结构(串)历年真题试卷汇编1及答案解析.doc(8页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(串)历年真题试卷汇编 1及答案解析(总分:58.00,做题时间:90 分钟)一、填空题(总题数:12,分数:24.00)1.设 T和 P是两个给定的串,在 T中寻找等于 P的子串的过程称为(1),又称 P为(2)。【西安电子科技大学 1998二、5(166 分)】(分数:2.00)_2.串是一种特殊的线性表,其特殊性表现在(1) ;串的两种最基本的存储方式是(2)、(3);两个串相等的充分必要条件是(4)。【中国矿业大学 2000一、3(4 分)】(分数:2.00)_3.使用“求子串”subString(S,pos,len)和“联结”concat(S1,s2)的串操
2、作,可从串s=conduction中的字符得到串 t=”cont”,则求 t的串表达式为_。【北京工业大学 2005二、4(3 分)】(分数:2.00)_4.下列程序读入无符号十六进制数(出现的字母为小写),将其转换为十进制数输出。请将程序空缺部分补全。 int f(char *s) int n=0,i; for(i=0;si!=“0“; i+)n=n*16+(1); return n; main() char s10; scanf(“s”,s);printf(“dn”(2) ); 【浙江大学 2002二(6 分)】(分数:2.00)_5.已知 U=xyxyxyxxyxy;t=xxy;ASSI
3、GN(S,U);ASSIGN(V,SUBSTR(S,INDEX(s,t),LENCt)+1),ASSIGN(m,ww)求 REPLACE(S,y,m)=_。【东北大学 1997一、1(5 分)】(分数:2.00)_6.实现字符串拷贝的函数 strcpy为:void strcpy(char*s,char*t)*copy t to s*while(_)【浙江大学 1999一、5(3 分)】(分数:2.00)_7.下列程序判断字符串 s是否对称;对称则返回 1,否则返回 0;如 f“abba”)返回 1,f“abab”)返回0。 int f(1) ) int i=0,j=0; while(8j)(2
4、) ; for(J 一一; i_8.下列算法实现求采用顺序结构存储的串 s和串 t的一个最长公共子串。 void maxcomstr(order8tring*s, *t, int index,length) (int i,j,k,lengthl,con; index=0;length=0;i=1; while(ilength) ( index=i; length=length1; ) (3) ; else(4); (5) 【上海大学2000一、2(10 分)】(分数:2.00)_9.下列是判断是否为回文(顺读与逆读字符串一样,串中不含空格)的算法。 #include #include #inc
5、lude #define StackSize 100 定义栈类型 typedef structchar dataStackSize;int Top ;)SeqStack; char Str100=“madamimadam”; void Push(SeqStack*s,char x) 进栈 (if(S 一Top=:stacksize 一 1)printf(”Stack overflow”); (1) ; ) char Pop(SegStack*s) 出栈 if,(S 一Top=一 1)printf(”Stack underflow”); return (2) ; int IsHuiwen(cha
6、r*S) SeqStack T; int i,n;char tl; TTop=一 1; n=strlen(s); 求向量长度 for(i=0;i=0) tl= (3) ; 每弹出一个字符与相应字符作比较 if( (4) ) return 0; 不相等则返回 0 i一一; return 1;1 比较完毕均相等则返回 1 void main() if(IsHuiwen(Str)printf(“n 这个字符串是回文。”); else printf(“n 这个字符串不是回文。”); 【北京交通大学 2006七、2(8 分)】(分数:2.00)_10.算法填空。 *copy a character st
7、ring from。fromto。to。 void copystring(to, from) char*to,*from; while(*from) (1) ;+from; (2) ;) *to=0; /*search a linked list for specified value* struct listrecint value; struct listrec*next;) struct listrec*search(listptr,match) struct listrec*listptr; int match; while(listptr!= (3) ) 1f( (4) =match
8、) break; else (5); return(1istptr); 【中国海洋大学 2006四(10 分)】(分数:2.00)_11.设模式 T=“abcabaabc”,求它的 next函数的修正值 nextval,下面的函数用于求模式 T的 nextval之值。其中,T0用于保存模式 T的字符个数,而 T1,T2,TM依次保存模式 T的各个字符。请在该函数中的A、B处各填入一个赋值表达式,使得数组 nextval能够给出模式 T的 next函数的修正值 nextval。 void getnextval(sstring T,intnextval) i=I,nextval1=0;j=0; w
9、hile(i_12.以下程序的功能是把一个输入字符串倒序输出,请找出并改正其中的错误。 void reverse(char*s) int len=strlen(S); char*dest=new char1en; int i=0 ; while(1en-一!=0) printf(); return 0; 【北京大学 2008三(10 分)】(分数:2.00)_二、综合题(总题数:14,分数:34.00)13.串。【大连海事大学 1996一、10(1 分)】【河海大学 1998二、5(3 分)】(分数:2.00)_14.描述以下概念的区别:空格串与空串。【大连海事大学 1996三、2(1)(2
10、分)】(分数:2.00)_15.两个字符串 S1和 S2的长度分别为 m和 n。求这两个字符串最大共同子串算法的时间复杂度为 T(m,n)。估算最优的 r(m,n),并简要说明理由。【北京工业大学 1996_、5(6 分)】(分数:2.00)_16.KMP算法(字符串匹配算法)较 Brute算法(朴素的字符串匹配算法)有哪些改进? 【大连海事大学 1996三、l(2 分)】(分数:2.00)_17.给出字符串abacabaaad在 KMP算法中的 next和 nextval数组。【北京邮电大学 2000三、1(5 分)】(分数:2.00)_设字符串 S=“aabaabaabaac,P=aaba
11、ac。(分数:4.00)(1).给出 S和 P的 next值和 nextval值;(分数:2.00)_(2).若 S作主串,P 作模式串,试给出利用 BF算法和 KMP算法的匹配过程。【北方交通大学 1998二(15分)】(分数:2.00)_设目标为 t=“abcaabbabcabaacbacba“,模式为 p=“abcabaa“。(分数:4.00)(1).计算模式 p的 nextval函数值; (5 分)(分数:2.00)_(2).不写出算法,只画出利用 KMP算法进行模式匹配时每一趟的匹配过程。 (5 分)【清华大学 1998八(10分)】(分数:2.00)_18.模式匹配算法是在主串中快
12、速寻找模式的一种有效的方法,如果设主串的长度为 m,模式的长度为 n,则在主串中寻找模式的 KMP算法的时间复杂性是多少?如果某一模式P=-“abcaacabaca“,请给出它的NEXT。函数值及 NEXT函数的修正值 NEXTVAL之值。【上海交通大学 2000一(5 分)】(分数:2.00)_设目标为 S=“abcaabbcaaabababaabca,模式为 P=“babab“。(分数:4.00)(1).手工计算模式 P的 nextval数组的值;(5 分)(分数:2.00)_(2).写出利用求得的 nextval数组,按 KMP算法对目标 S进行模式匹配的过程。(5 分)【清华大学 19
13、97四(10 分)】(分数:2.00)_19.设模式串 t为“abcabcacabca“,给出其失败函数。 【吉林大学 2007二、6(3 分)】(分数:2.00)_20.主串$=“abbacbabbcabbcabbcabcaabbc“,子串=“abbcabcaa“,若用简单模式匹配算法,查找成功需要比较多少次?若用KMP 算法,查找成功需要比较多少次?并计算出相应的 NEXT数组和 NEXTVAL数组值。【大连理工大学 2005二、4(204 分)】(分数:2.00)_21.在字符串模式匹配的 KMP算法中,求模式的 next数组值的定义如下: (分数:2.00)_22.给出 KMP算法中失
14、败函数 f的定义,并说明利用厂进行串模式匹配的规则,该算法的技术特点是什么?【东南大学 1993一、3(9 分)1997 一、2(8 分)2001 一、6(6 分)】(分数:2.00)_23.在模试匹配 KMP算法中所用失败函数 f的定义中,为何要求 P 1 P 2 P f(f) 为 P 1 P 2 P i 两头匹配的真子串且为最大真子串?【东南大学 1996一、3(7 分)】(分数:2.00)_计算机专业基础综合数据结构(串)历年真题试卷汇编 1答案解析(总分:58.00,做题时间:90 分钟)一、填空题(总题数:12,分数:24.00)1.设 T和 P是两个给定的串,在 T中寻找等于 P的
15、子串的过程称为(1),又称 P为(2)。【西安电子科技大学 1998二、5(166 分)】(分数:2.00)_正确答案:(正确答案:(1)模式匹配 (2)模式串)解析:2.串是一种特殊的线性表,其特殊性表现在(1) ;串的两种最基本的存储方式是(2)、(3);两个串相等的充分必要条件是(4)。【中国矿业大学 2000一、3(4 分)】(分数:2.00)_正确答案:(正确答案:(1)其数据元素都是字符 (2)顺序存储 (3)链式存储(4)串的长度相等且两串中对应位置的字符也相等)解析:3.使用“求子串”subString(S,pos,len)和“联结”concat(S1,s2)的串操作,可从串s
16、=conduction中的字符得到串 t=”cont”,则求 t的串表达式为_。【北京工业大学 2005二、4(3 分)】(分数:2.00)_正确答案:(正确答案:t=concat(subStIling(s,1,3),subString(s,7,1)解析:4.下列程序读入无符号十六进制数(出现的字母为小写),将其转换为十进制数输出。请将程序空缺部分补全。 int f(char *s) int n=0,i; for(i=0;si!=“0“; i+)n=n*16+(1); return n; main() char s10; scanf(“s”,s);printf(“dn”(2) ); 【浙江大学
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 历年 汇编 答案 解析 DOC
