数据结构考试题库含答案Word下载.docx
- 文档编号:13870895
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:34
- 大小:407.40KB
数据结构考试题库含答案Word下载.docx
《数据结构考试题库含答案Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构考试题库含答案Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
【中科院计算所1997】
A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1E.(n2/2)-(n/2)-1F.其他情况
10.串的长度是指()
【北京工商大学2001一、6(3分)】
A.串中所含不同字母的个数B.串中所含字符的个数
C.串中所含不同字符的个数D.串中所含非空格字符的个数
二、判断题
1.KMP算法的特点是在模式匹配时指示主串的指针不会变小。
()北京邮电大学2002一、4(1
分)】
二、填空题
1.空格串是指_
(1)_,其长度等于⑵。
西安电子科技大学2001软件一、4(2分)】
2.组成串的数据元素只能是。
中山大学1998一、5(1分)】
4.一个字符串中为该串的子串。
华中理工大学2000一、3(1分)】
5.INDEX(DATASTRUCTURE'
STR'
)=。
【福州大学1998二、4(2分)】
6.设正文串长度为n,模式串长度为m,则串匹配的KMP算法的时间复杂度为。
重庆大学
2000一、4】
6.
模式串
P=abaabcac'
的next
:
函数值序列为
。
【西安电子科技大学
2001软件一、
7.
字符串
'
ababaaab'
的nextval
函数值为
北京邮电大学2001
二、4(2分)】
8.
设T和P是两个给定的串,
在T中寻找等于
P的子串的过程称为__
(1)_
-,又称P为—⑵一
6(2分)】
o
知U=‘yxyxyxxyxy'
;
t=xxy'
ASSIGN(S,U);
ASSIGN(m,ww'
voidstrcpy(char*s,char*t)/*copyttos*/
.)
{while
}浙江大学1999一、5(3分)】
intf(⑴
{inti=0,j=0;
while(s[j])
(2);
for(j--;
i<
j&
&
s[i]==s[j];
i++,j--);
return((3))
}浙江大学1999一、6(3分)】
14.下列算法实现求采用顺序结构存储的串s和串t的一个最长公共子串。
程序(a)
PROCEDUREmaxcomstr(VARs,t:
orderstring;
VARindex,length:
integer);
VARi,j,k,length1:
integer;
con:
boolean;
BEGIN
index:
=0;
length:
i:
=1;
WHILE(i<
=s.len)DO
[j:
WHILE(j<
=t.len)DO
[IF(s[i]=t[j])THEN
[k:
length1:
=true;
WHILEconDO
IF
(1)_THEN[length1:
=length1+1;
k:
=k+1;
]ELSE
(2)_;
IF(length1>
length)THEN[index:
=i;
length:
=length1;
]
⑶一;
ELSE⑷;
⑸;
END;
程序(b)
voidmaxcomstr(orderstring*s,*t;
intindex,length)
{inti,j,k,length1,con;
index=O;
length=0;
i=1;
while(i<
=s.len)
{j=1;
while(j<
=t.len)
{if(s[i]==t[j])
{k=1;
length1=1;
con=1;
while(con)
if
(1)_{length1=length1+1;
k=k+1;
}else
(2)
if(length1>
length){index=i;
length=length1;
}
⑶__;
}
else(4);
⑸—
}}上海大学2000一、2(10分)】
15.完善算法:
求KMP算法中next数组。
PROCget_next(t:
string,VARnext:
ARRAY[1..t.len]OFinteger);
j:
k:
=
(1);
next[1]:
WHILEj<
t.lenDO
IFk=0ORt.ch[j]=t.ch[k]THENBEGINj:
=j+1;
next[j]:
=k;
END
ELSEk:
=
(2);
中山大学1998四、1(4分)】
16.下面函数index用于求t是否为s的子串,若是返回t第一次出现在s中的序号(从1开始计),否则返回0。
例如:
s=a'
bcdefcdek'
t=cde:
则indse(s,t)=3,index(s,'
aaa)=0。
已知t,s的串长分别是mt,ms
FUNCindex(s,t,ms,mt);
i:
WHILE(i<
ms)AND(j<
mt)DO
IFs[i]=t[j]THEN[(—
(2)__]
ELSE[(3);
(4)_]
IFj>
mtTHENreturn(5)_;
ELSEreturn(6)
ENDF;
南京理工大学1999三、2(6分)】
17.阅读下列程序说明和pascal程序,把应填入其中的()处的字句写在答题纸上。
程序说明:
本程序用于判别输入的字符串是否为如下形式的字符串:
W&
M$其中,子字符串M是子字符串W的字符反向排列,在此假定W不含有字符&
和字符$,字符&
用作W与M的分隔符,字符$用作字符串的输入结束符。
例如,对输入字符串ab&
ba$、11&
12$、ab&
dd$、&
$,程序将分别输出Ok.(是),No.(不是)。
程序
PROGRAMaccept(input,output);
CONSTmidch='
endch='
$
VARan:
boolean;
ch:
char;
PROCEDUREmatch(VARanswer:
boolean);
VARch1,ch2:
f:
read(chl);
IFch1<
>
endch
THENIF
(1)__
THENBEGINmatch(f);
IFfTHENBEGINread(ch2);
answer:
=
(2)_ENDELSEanswer:
=false
ELSE(3)_
ELSE(4)_
writeln(EnterString:
match(an);
IFanTHENBEGIN
3)_IF(6)_THENwriteln(Ok.'
ELSEwriteln(No.'
ELSEwriteln(No.'
END.上海海运学院1998七(15分)】
18.试利用下列栈和串的基本操作完成下述填空题。
initstack(s)
置s为空栈;
push(s,x)
元素x入栈;
pop(s)
出栈操作;
gettop(s)
返回栈顶元素;
sempty(s)
判栈空函数;
setnull(st)
置串st为空串;
length(st)
返回串st的长度;
equal(s1,s2)
判串si和s2是否相等的函数
concat(s1,s2)
返回联接si和s2之后的串;
sub(s,i,1)
返回s中第i个字符;
empty(st)
判串空函数
FUNCinvert(pre:
string;
VARexp:
string):
{若给定的表达式的前缀式pre正确,本过程求得和它相应的表达式exp并返回true”,否则exp为
空串,并返回false”。
已知原表达式中不包含括弧,opset为运算符的集合。
}
VARs:
stack;
i,n:
succ:
char;
n:
=length(pre);
=true;
(1)_;
(2)_;
n)ANDsuccDO
BEGINch:
=sub(pre,i,l);
IF(3)_THEN(4)_
ELSEIF(5)THEN(6)
ELSEBEGIN
exp:
=concat((7),(8));
=concat((9),(10));
(11);
=i+1
IF(12)THEN
BEGINexp:
=concat(exp,sub(pre,n,1));
invert:
=trueEND
ELSEBEGINsetnull(exp);
=falseEND
注意:
每个空格只填一个语句。
清华大学1996八】
四、应用题
1.名词解释:
串大连海事1996一、10(1分)】河海大学1998二、5(3分)】
2.描述以下概念的区别:
空格串与空串。
大连海事大学1996三、2、
(1)(2分)】
3.两个字符串S1和S2的长度分别为m和n。
求这两个字符串最大共同子串算法的时间复杂度为T(m,n)。
估算最优的T(m,n),并简要说明理由。
北匕京工业大学1996一、5(6分)】
4.设主串S=xxyxxxyxxxxyxyx'
,模式串T=xxyxy'
请问:
如何用最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 考试 题库 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)