武漢大學資料結構MOOC第5周測驗

2021-10-10 09:42:54 字數 2112 閱讀 5976

1單選(2分)下面關於串的敘述中,正確的是( )。

a.串是一種特殊的線性表

b.串中元素只能是字母

c.空串就是空白串

d.串的長度必須大於零

正確答案:a

解析: a、串是一種特殊的線性表,其元素為單個字元,長度可以為0。

課本考據:

1)字串簡稱為串,串是由字元元素構成的,其中元素的邏輯關係也是一種線性關係。

2)在一般情況下,英文本母、數字(0,1,·····9)和常用的標點符號以及空格符等都是合法的字元。

3)含零個字元的串稱為空串。

2單選(2分)兩個字串相等的條件是( )。

a.串的長度相等

b.含有相同的字符集

c.都是非空串

d.兩個串的長度相等且對應位置的字元相同

正確答案:d

課本考據:兩個串相等當且僅當這兩個串的長度相等並且個對應位置上的字元都相同。

3單選(2分)若串str=「software」,其子串的個數是( )。

a.8b.9

c.36

d.37

正確答案:d

解析: d、該串中所有字元不相同,長度為0的子串1個,長度為1的子串8個,長度為2的子串7個,…,長度為7的子串2個,長度為8的子串1個,總計子串數=1+8+7+…+2+1=1+8×9/2=37。

4單選(2分)乙個鏈串的節點型別定義為#define nodesize 6

typedef struct node

linkstrnode;

如果每個字元佔1個位元組,指標佔2個位元組,該鏈串的儲存密度為( )。

a.1/3

b.1/2

c.2/3

d.3/4

正確答案:d

解析: d、鏈串節點大小指每個節點存放的字元個數,本題節點大小為6,儲存密度=(6 * 1)/(6 * 1+2)=3/4。

5單選(2分)串採用節點大小為1的鍊錶作為其儲存結構,是指( )。

a.鍊錶的長度為1

b.鍊錶中只存放乙個字元

c.鍊錶中每個節點的資料域中只存放乙個字元

d.以上都不對

正確答案:c

解析: c、鏈串節點大小指每個節點存放的字元個數。

6單選(2分)對於乙個鏈串s,查詢第乙個字元值為x的演算法的時間複雜度為( )。

a.o(1)

b.o(n)

c.o(n2)

d.以上都不對

正確答案:b

解析: b、在鏈串查詢第乙個字元值為x的演算法的時間複雜度為o(n)。

7單選(2分)設有兩個串p和q,其中q是p的子串,則求q在p中首次出現位置的演算法稱為( )。

a.求子串

b.串聯接

c.模式匹配

d.求串長

正確答案:c

解析: c、模式匹配演算法就是找子串在主串中的位置。

8單選(2分)在串的簡單模式匹配中,當模式串位j與目標串位i比較時,兩字元不相等,則i的位移方式是( )。

a.i++

b.i=j+1

c.i=i-j+1

d.i=j-i+1

正確答案:c

解析: c、在串的簡單模式匹配(bf演算法)中,當兩字元比較不等時,目標串位i回溯到原來位置的下乙個位置,即i=i-j+1。

9單選(2分)在kmp模式匹配中,用next陣列存放模式串的部分匹配資訊。當模式串位j與目標串位i比較時,兩字元不相等,則i的位移方式是( )。

a.i=next[j]

b.i不變

c…j不變

d.j=next[j]

正確答案:b

解析: b、在kmp模式匹配中,當兩字元比較不等時,目標串位i不回溯,仍停留在原來的位置。

10單選(2分)在kmp模式匹配中,用next陣列存放模式串的部分匹配資訊。當模式串位j與目標串位i比較時,兩字元不相等,則j的位移方式是( )。

a.i=next[j]

b.i不變

c.j不變

d.j=next[j]

正確答案:d

解析: d、在kmp模式匹配中,當兩字元比較不等時,目標串位i不改變,將其位置字元與模式串中next[j]位置的字元比較,即j=next[j]。

武漢大學資料結構MOOC第2周測驗

1單選 2分 線性表是 a.乙個有限序列,可以為空 b.乙個有限序列,不可以為空 c.乙個無限序列,可以為空 d.乙個無限序列,不可以為空 正確答案 a 解析 a 線性表是具有n n 0 個資料元素的有限序列。課本考據 線性表是具有相同特徵的資料元素的乙個有限序列。當 n 0時,表示線性表是乙個空表...

MOOC資料結構 第8周測驗

1.樹最適合用來表示 a a.元素之間具有層次關係的資料 b.元素之間無聯絡的資料 c.有序資料元素 d.無序資料元素 2.現有一 遺傳 關係,設x是y的父親,則x可以把他的屬性遺傳給y。表示該遺傳關係最適合的資料結構為 b a.圖b.樹 c.線性表 d.陣列 3.一棵節點個數為n 高度為h的m m...

MOOC 資料結構 第一周

1 有以下用c c 語言描述的演算法,說明其功能 void fun double y,double x,int n 解 計算x的n次方。2 乙個演算法的空間複雜度是o 1 那麼執行該演算法時不需要任何空間,這個說法正確嗎?為什麼?解 錯誤。若乙個演算法的空間複雜度為o 1 則稱此演算法為原地工作或就...