数据结构第四章考试题库含答案.docx

上传人:b****7 文档编号:11510164 上传时间:2023-03-02 格式:DOCX 页数:88 大小:53.93KB
下载 相关 举报
数据结构第四章考试题库含答案.docx_第1页
第1页 / 共88页
数据结构第四章考试题库含答案.docx_第2页
第2页 / 共88页
数据结构第四章考试题库含答案.docx_第3页
第3页 / 共88页
数据结构第四章考试题库含答案.docx_第4页
第4页 / 共88页
数据结构第四章考试题库含答案.docx_第5页
第5页 / 共88页
点击查看更多>>
下载资源
资源描述

数据结构第四章考试题库含答案.docx

《数据结构第四章考试题库含答案.docx》由会员分享,可在线阅读,更多相关《数据结构第四章考试题库含答案.docx(88页珍藏版)》请在冰豆网上搜索。

数据结构第四章考试题库含答案.docx

数据结构第四章考试题库含答案

第四章

一、选择题

1

.下面关于串的的叙

述中,哪一个是不正

确的?

)【北方交通大

学2001

一、5(2分)】

A.串是字符的有限序

B

.空串是由空格构成的

C.模式匹配是串的一

种重要运算D.串既可以采用顺序存

储,也可以采用链式存

2

若串S=‘ABCDEFG’,S2=

‘9898’,S3=

‘###’,S4=‘012345’,执行

1

concat(replace(S1,substr(S1,length(S2),length(S3)),S3),subst

r(S4,index(S2,

‘8’),length(S2)))

其结果为(

)【北方交通大学

1999

一、5

(25/7分)】

A.ABC###G0123B.ABCD###2345C.ABC###G2345D.ABC###2345

E.ABC###G1234F

.ABCD###1234G.ABC###01234

3

.设有两个串

p和q,其中q是p的子串,求

q在p中首次出现的位置的

算法称为(

A.求子串

B

.联接

C

.匹配

D

.求串长

【北京邮电大学

2000

二、4(20/8

分)】【西安电子科技

大学1996

一、1

(2

分)】

4

.已知串S=‘aaab’,其Next数组值为(

)。

【西安电子科技大

学1996

一、7

(2分)】

A.0123

B

.1123

C

.1231

D

.1211

5

.串‘ababaaababaa

’的next

数组为(

)。

【中山大学1999

一、7】

A.012345678999

B

.012121111212

C

.011234223456

D

.0123012322345

6

.字符串‘ababaabab

’的nextval

为(

A.(0,1,0,1,04,1,0,1)

B

.(0,1,0,1,0,2,1,0,1)

C.(0,1,0,1,0,0,0,1,1)

D

.(0,1,0,1,0,1,0,1,1)

【北京邮电大学

1999

一、1(2

分)】

7

.模式串t=‘abcaabbcabcaabdab

’,该模式串的next数组的值为(

),nextval

数组的值为

()。

A.01112211123456712B

.01112121123456112

C.01110013101100701D

.01112231123456712

E.01100111011001701F

.01102131011021701

【北京邮电大学

1998

二、3(2

分)】

8

.若串S=’software

’,其子串的数目

是(

)。

【西安电子

科技大学

2001

应用

一、2(2分)】

A.8B

.37

C

.36

D

.9

9

.设S为一个长度为

n的字符串,其

中的字符各不相同,则S中的互异的非平

凡子串(非

空且不同于S

本身)的个数为

)。

【中科院计算所

1997

A.2n-1B

.n2

C

.(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分)】

2

.设模式串的长度为

m,目标串的

长度为n,当n≈m且处理只匹配一次

的模式时,朴素的匹配(即子串定

位函数)算法所

花的时间代

价可能会更为节省。

)【长沙铁道学院

1998

一、1(1

分)】

3

.串是一种数据对象

和操作都特殊的线性

表。

)【大连海事大学20011

、L(1

分)】

二、填空题

1

.空格串是指

__

(1)__

,其长度等于___

(2)__

【西安电子科技

大学2001

软件一、4(2

分)】

2

.组成串的数据元素

只能是________。

【中山大学

1998

一、5

(1

分)】

3

.一个字符串中

________

称为该串的子串

【华中理工大学

2000

一、3(1

分)】

4

.INDEX(‘DATASTRUCTURE’,‘STR’)=________。

【福州大学1998

二、4(2

分)】

5

.设正文串长度为

n,模式串长度为m,则串匹配的KMP算法的时间复

杂度为________。

【重庆大学

2000

一、4】

6

.模式串P=‘abaabcac’的next

函数值序列为

________。

【西安电子科技大学

2001软件

一、6(2分)】

7

.字符串’ababaaab’的nextval

函数值为________。

【北京邮电大

学2001

二、4

(2

分)】

8

.设T和P是两个给定的串,在

T中寻找等于P的子串的过程称

为__

(1)__,又称P为__

(2)__

【西安电子科技

大学

1998二、5(16/6分)】

9.串是一种特殊的线

性表,其特殊性表现在__

(1)__

;串的两种最基本

的存储方式

是__

(2)__、__(3)__

两个串相等的充

分必要条件

是__(4)__。

【中国矿业大学

2000一、3

(4分)】

10

.两个字符串

相等的充分

必要条件是_______。

【西安电子科技大学

1999软件

一、1(2分)】

11

.知U=‘xyxyxyxxyxy’;t=‘xxy’;

ASSIGN(S,U);

ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(t)+1));

ASSIGN(m,‘ww’)

求REPLACE(S,V,m)=________。

【东北大学

1997一、1(5

分)】

12

.实现字符串

拷贝的函数

strcpy

为:

voidstrcpy(char*s,char*t)/*copyttos*/

{while(________)

}【浙江大学

1999

一、5(3

分)】

13.下列程序判断字符串s是否对称,对称则返回1,否则返回0;如

f("abba")

返回

1,f("abab")

返回

0;

intf(

(1)________)

{inti=0,j=0;

while(s[j])

(2)________;

for(j--;i

return((3)_______)

}【浙江大学1999一、6(3分)】

14.下列算法实现求采用顺序结构存储的串s和串

程序(a)

t的一个最长公共子

串。

PROCEDUREmaxcomstr(VARs,t:

orderstring;VARindex,length:

integer);

VARi,j,k,length1:

integer;con:

boolean;

BEGIN

index:

=0;length:

=0;i:

=1;

WHILE(i<=s.len)DO

[j:

=1;

WHILE(j<=t.len)DO

[IF(s[i]=t[j])THEN

[k:

=1;length1:

=1;con:

=true;

WHILEconDO

IF

(1)__THEN[length1:

=length1+1;k:

=k+1;]ELSE

IF(length1>length)THEN[index:

=i;length:

=length1;]

(3)____;

 

(2)_;

]

ELSE(4)____;

]

(5)___;

]

END;

程序(b)

voidmaxcomstr(orderstring*s,*t;intindex,length)

{inti,j,k,length1,con;

index=0;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;}

(3)____;

}

else(4)___;

}

(5)__

}}【上海大学2000一、2(10

15.完善算法:

求KMP算法中next数组。

PROCget_next(t:

string,VARnext:

 

分)】

 

ARRAY[1..t.len]OFinteger);

BEGIN

j:

=1;k:

=

(1)__;next[1]:

=0;

WHILEj

IFk=0ORt.ch[j]=t.ch[k]THENBEGINj:

=j+1;k:

=k+1;next[j]:

=k;END

ELSEk:

=

(2)___;

END;

【中山大学

16.下面函数

返回0。

1998index

四、用于求

1(4分)】

t是否为s的子串,若是返回

 

t第一次出现在

 

s中的序号(从

 

1开始计

 

),否则

例如:

s=

‘abcdefcdek

’,t=‘cde’,

则indse(s,t)=3,

index(s,

’aaa’)=0

已知

t,s

的串长分别

是mt,ms

FUNCindex(s,t,ms,mt);

i:

=1;j:

=1;

WHILE(i

IFs[i]=t[j]THEN[

(1)__;

(2)__]

ELSE[(3)___;(4)_]

IFj>mtTHENreturn(5)____;ELSEreturn(6)__

ENDF;

【南京理工大学1999

17.阅读下列程序说明和

三、pascal

2

(6程序

分)】

把应填入其中的(

 

)处的字句

 

写在答题纸

 

上。

程序说明:

本程序用于判别输入的字符串是否为如下形式的字符串:

W&M$其中,子字符串M是子字符串W的字符反向排列,在此假定

W与M的分隔符,字符$用作字符串的输入结束符。

例如,对输入字符串ab&ba$、11&12$、ab&dd$、&$,程序将分别

程序

 

W不含有字符&和字符$,

 

输出Ok.(是),No.(不是

 

字符)。

 

&用作

PROGRAMaccept(input,output);

CONSTmidch=’&’;endch=’$’;

VARan:

boolean;ch:

char;

PROCEDUREmatch(VARanswer:

boolean);

VARch1,ch2:

char;f:

boolean;

BEGIN

read(ch1);

IFch1<>endch

THENIF

(1)__

THENBEGINmatch(f);

IFfTHENBEGINread(ch2);answer:

=

 

(2)_ENDELSEanswer:

=false

END

ELSE(3)___

ELSE(4)___

END;

BEGIN

writeln(

‘EnterString:

’);

match(an);

IFanTHENBEGIN

(5)__IF(6)_THENwriteln(

‘Ok.’)ELSEwriteln(‘No.’)

END

ELSE

writeln(

‘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)

判串s1和s2是否相等的函数;

concat(s1,s2)

返回联接

s1和s2

之后的串;

sub(s,i,1)

返回s中第i个字符;

empty(st)

判串空函数

FUNCinvert(pre:

string;VARexp:

string):

boolean;

{若给定的表达式的前为空串,并返回“false

缀式pre”。

已知原表

正确,本过程求

达式中不包

得和它相应

含括弧,opset

的表达式exp

为运算符的集合

并返回“

}

true

”,否则

exp

VARs:

stack;i,n:

integer;succ:

boolean;ch:

char;

BEGIN

i:

=1;n:

=length(pre);succ:

=true;

(1)__;

(2)__;

WHILE(i

BEGINch:

=sub(pre,i,l);

IF(3)_THEN(4)__

ELSEIF(5)__THEN(6)_

ELSEBEGIN

exp:

=concat((7)___,(8)____);

exp:

=concat((9)___,(10)___);

(11)__;

END;

i:

=i+1

END;

IF(12)___THEN

BEGINexp:

=concat(exp,sub(pre,n,1));invert:

=trueEND

ELSEBEGINsetnull(exp);invert:

=falseEND

END;

注意:

每个空格

只填一个语句。

【清华大学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’。

请问:

如何用

最少的比较次数找到

T在S中出现

的位置?

相应的

比较次数是多少?

【大连

海事大学2001四(8

分)

5.KMP算法(字符串匹配算法)较Brute(朴素的字符串匹配)算法有哪些改进?

【大连海事大学1996三、1((2

分)】

6.已知模式串

t=‘abcaabbabcab

’写出用

KMP法求得的每个字符对

应的next和nextval

函数值。

【北京邮电大学

1997

三(10

分)】

7.给出字符串‘abacabaaad’在KMP算法中的next

和nextval

数组。

【北京邮电大

学2000三、1(5分)】

8.令t=‘abcabaa’,求其next

函数值和

nextval

函数值。

【北方交通大学1994

(6分)】

9.已知字符串‘cddcdececdea

’,计算每个字

符的next

和nextval

函数的值。

【南京邮电大学2000

一2】

10

.试利用KMP算法和改进

算法分别求p1=‘abaabaa’和p2=‘aabbaab’的next

函数和nextval

函数。

【东南大学

1999

一、6(8

分)】

11

.已知KMP串匹配算法

中子串为

babababaa,写出next

数组改进后的next

数组信息值(要

求写出数组下

标起点)。

【西南交通大学

2000二、2】

12

.求模式串

T=‘abcaabbac'

的失败函数

Next(j)

值。

【西安交通大

学1996

四、4(5

分)】

13

.字符串的模

式匹配

KMP算法中,失败函数(NEXT)是如何定义的

?

计算模式串p=‘aabaabaaabc’中各字

符的失败函数值

.【石油大学1998

一、2(10

分)】

14

.设字符串

S=‘aabaabaabaac'

,P=‘aabaac'

(1)给出S和P的next

值和nextval

值;

(2)若S作主串,P作模式串,试给出利用BF算法和KMP算法的匹配过程。

【北方交通大学

1998

二(15

分)】

15

.设目标为

t=‘abcaabbabcabaacbacba

’,模式为p=‘abcabaa’

(1)计算模式p的naxtval

函数值;(5分)

(2)不写出算法

只画出利用

KMP算法进行模式

匹配时每一

趟的匹配过

程。

(5分)

【清华大学

1998

八(10分)】

16

.模式匹配算

法是在主串

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1