算法与数据结构---习题4

1【单选题】
串是一种特殊的线性表,其特殊性体现在:

A、可以顺序存储

B、数据元素是一个字符

C、可以链式存储

D、数据元素可以是多个字符

  • 正确答案: B

2【单选题】
设有两个串p和q,求q在p中首次出现的位置的运算称作:

A. B. C. D.

A、连接

B、模式匹配

C、求子串

D、求串长

  • 正确答案: B

3【单选题】
设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))的结果串是:

A、BCDEF

B、BCDEFG

C、BCPQRST

D、BCDEFEF

  • 正确答案: D
    答案解析: con(x,y)返回x和y串的连接串,即 con(x,y)=‘ABCDEFGPQRST’;
    subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,则 subs(s1, 2,
    len(s2))=subs(s1, 2, 5)=’ BCDEF’; subs(s1, len(s2), 2)=subs(s1,
    5, 2)=’ EF’; 所以con(subs(s1, 2, len(s2)), subs(s1, len(s2),
    2))=con(’ BCDEF’, ’ EF’)之连接,即BCDEFEF

4【填空题】
设S=“A;/document/Mary.doc”,则strlen(s)= , “/”的字符定位的位置为 。

  • 正确答案:20 3

5【填空题】
设目标T=”abccdcdccbaa”,模式P=“cdcc”,则第 次匹配成功。

  • 正确答案:6

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

  • 正确答案:(n-m+1)*m

7【填空题】
( ) 称为空串; ( ) 称为空白串。

  • 正确答案:
    不包含任何字符(长度为0)的串
    由一个或多个空格(仅由空格符)组成的串

8【简答题】
KMP算法的设计思想是什么?它有什么优点?

  • 正确答案:
    答:其设计思想是,利用已经部分匹配的结果来加快模式串的滑动速度。
    主要优点有二:一是在模式与主串已经部分匹配的情况下,可以大大加快匹配速度;二是主串指针不回溯,可以使外设文件边读入边匹配。

9【计算题】
设s=’I AM A STUDENT’, t=’GOOD’, q=’WORKER’, 求Replace(s,’STUDENT’,q) 和
Concat(SubString(s,6,2), Concat(t,SubString(s,7,8)))。

  • 正确答案:
    ’I AM A WORKER’
    ‘A GOOD STUDENT’
    答案解析:
    解:① Replace(s,’STUDENT’,q)=’I AM A WORKER’
    ② 因为 SubString(s,6,2)=‘A ’;SubString(s,7,8)=‘ STUDENT’
    Concat(t,SubString(s,7,8))=’GOOD STUDENT’
    所以Concat(SubString(s,6,2), Concat(t,SubString(s,7,8)))=‘A GOOD STUDENT’

–>算法与数据结构—习题5

你可能感兴趣的:(#,数据结构(C语言),数据结构,算法)