網(wǎng)課《數(shù)據(jù)結(jié)構(gòu)與算法》章節(jié)測(cè)試答案
?第一章
1、在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成(? )。
A:緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
B:線性結(jié)構(gòu)和非線性結(jié)構(gòu)
C:內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
D:動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)
正確答案:線性結(jié)構(gòu)和非線性結(jié)構(gòu)
2、在數(shù)據(jù)結(jié)構(gòu)中,從存儲(chǔ)結(jié)構(gòu)上可以將之分為(? )。
A:動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)
B:順序存儲(chǔ)和非順序存儲(chǔ)
C:緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
D:線性結(jié)構(gòu)和非線性結(jié)構(gòu)
正確答案:順序存儲(chǔ)和非順序存儲(chǔ)
3、某算法的時(shí)間復(fù)雜度是O(n^2),表明該算法的(? )。
A:執(zhí)行時(shí)間與n^2成正比
B:問題規(guī)模是n^2
C:執(zhí)行時(shí)間等于n^2
D:問題規(guī)模與n^2成正比
正確答案:執(zhí)行時(shí)間與n^2成正比
4、在下面的程序段中,x=x+1;的語(yǔ)句頻度為(? )。for( i=1;i<=n;i++) for( j=1;j<=n;j++)? x=x+1;
A:O(2n)
B:O(n)
C:O(n^2)
D:O(log2n)
正確答案:O(n^2)
5、以下數(shù)據(jù)結(jié)構(gòu)中,(? )是非線性數(shù)據(jù)結(jié)構(gòu)。
A:樹
B:字符串
C:隊(duì)
D:棧
正確答案:樹
6、順序存儲(chǔ),存儲(chǔ)單元的地址(? )。
A:一定連續(xù)
B:一定不連續(xù)
C:不一定連續(xù)
D:部分連續(xù),部分不連續(xù)
正確答案:一定連續(xù)
7、評(píng)價(jià)一個(gè)算法性能好壞的重要標(biāo)準(zhǔn)是(? )。
A:算法的正確性
B:算法易于調(diào)試
C:算法的時(shí)間和空間復(fù)雜度
D:算法易于理解
正確答案:算法的時(shí)間和空間復(fù)雜度
8、若需要利用形式參數(shù)直接訪問修改實(shí)參值,則應(yīng)將形參說明為(? )參數(shù)。
A:值參數(shù)
B:實(shí)地址
C:指針
D:地址參數(shù)
正確答案:指針
9、順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高。
A:對(duì)
B:錯(cuò)
正確答案:錯(cuò)
10、數(shù)據(jù)結(jié)構(gòu)中評(píng)價(jià)算法的兩個(gè)重要指標(biāo)是算法的時(shí)間復(fù)雜度和空間復(fù)雜度。
A:對(duì)
B:錯(cuò)
正確答案:對(duì)
第二章
1、下述哪一條是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)()。
A:可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表示
B:插入運(yùn)算方便
C:刪除運(yùn)算方便
D:存儲(chǔ)密度大
正確答案:存儲(chǔ)密度大
3、設(shè)某順序表中第一個(gè)元素的地址是se(下標(biāo)從1開始),每個(gè)結(jié)點(diǎn)占m個(gè)單元,則第i個(gè)結(jié)點(diǎn)的地址為()。
A:se+(i-1)×m
B:se+(i+1)×m
C:se+i×m
D:se-i×m
正確答案:se+(i-1)×m
4、某線性表中最常用的操作是在最后一個(gè)元素之后插入一個(gè)元素和刪除第一個(gè)元素,則采用()存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間。
A:單鏈表
B:僅有尾指針的單循環(huán)鏈表
? ? ? ? ? ? ? ? ? ? ?C:僅有頭指針的單循環(huán)鏈表
D:雙鏈表
正確答案:僅有尾指針的單循環(huán)鏈表
5、若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為()。
A:O(n)
B:O(0)
C:O(1)
D:O(n^2)
正確答案:O(n)
6、在單鏈表指針為p的結(jié)點(diǎn)之后插入指針為s的結(jié)點(diǎn),正確的操作是()。
A:s->next=p->next;p->next=s;
B:p->next=s;s->next=p->next;
C:p->next=s;p->next=s->next;
D:p->next=s->next;p->next=s;
正確答案:s->next=p->next;p->next=s;
7、? 對(duì)于一個(gè)頭指針為head的帶頭結(jié)點(diǎn)的單鏈表,判定該表為空表的條件是()。
A:head→next==NULL;
B:head==NULL;
C:head→next==he;
D:head!=NULL;
正確答案:head→next==NULL;
8、? 靜態(tài)鏈表與動(dòng)態(tài)鏈表在元素的插入、刪除上類似,不需做元素的移動(dòng)。
A:對(duì)
B:錯(cuò)
正確答案:對(duì)
9、? 順序表適宜于順序存取,而鏈表適宜于隨機(jī)存取。
A:對(duì)
B:錯(cuò)
正確答案:錯(cuò)
10、線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,邏輯上相鄰的兩個(gè)元素在物理位置上并不一定相鄰。
A:對(duì)
B:錯(cuò)
正確答案:對(duì)
第三章
1、棧和隊(duì)列都是(? )。
A:限制存取點(diǎn)的非線性結(jié)構(gòu)
B:順序存儲(chǔ)的線性結(jié)構(gòu)
C:鏈?zhǔn)酱鎯?chǔ)的非線性結(jié)構(gòu)
D:限制存取點(diǎn)的線性結(jié)構(gòu)
正確答案:限制存取點(diǎn)的非線性結(jié)構(gòu)
2、設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過棧S,一個(gè)元素出棧后隨即進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)該是(? )。
A:3
B:6
C:4
D:2
正確答案:A
3、設(shè)計(jì)一個(gè)判別表達(dá)式中括號(hào)是否匹配出現(xiàn)的算法,采用(? )的數(shù)據(jù)結(jié)構(gòu)最佳。
A:棧
B:順序表
C:隊(duì)列
D:單鏈表
正確答案:A
4、表達(dá)式a*(b+c)-d的后綴表達(dá)式是(? )。
A:abc+d-
B:cb+ad-
C:abc+*d-
D:abcd+-
正確答案:abc+*d-
5、遞歸過程或函數(shù)調(diào)用時(shí),處理參數(shù)及返回地址需要用一種(? )的數(shù)據(jù)結(jié)構(gòu)。
A:棧
B:隊(duì)列
C:多維數(shù)組
D:線性表
正確答案:A
6、最大容量為n的循環(huán)隊(duì)列,隊(duì)尾指針為rear,隊(duì)頭指針為front,則隊(duì)空的條件是(? )。
A:rear==front
B:(rear+1)%n==front
C:rear+1==front
D:(rear-l)%n==front
正確答案:rear==front
7、用帶頭結(jié)點(diǎn)的單鏈表表示隊(duì)長(zhǎng)大于1的隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)(? )。
? ? ? ? ? ? ? ? ? ? ?
A:僅修改隊(duì)頭指針
B:僅修改隊(duì)尾指針
C:隊(duì)頭、隊(duì)尾指針都要修改
D:隊(duì)頭,隊(duì)尾指針都可能要修改
正確答案:僅修改隊(duì)頭指針
8、對(duì)于一個(gè)具有n個(gè)結(jié)點(diǎn)的單鏈表,在已知的結(jié)點(diǎn)p后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度和在給定值為x的結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度分別為(? )。
A:O(1),O(n)
B:O(n),O(n)
C:O(1),O(1)
D:O(n),O(1)
正確答案:A
9、兩順序棧共享空間,也存在空間溢出問題。
A:對(duì)
B:錯(cuò)
正確答案:A
10、在對(duì)不帶頭結(jié)點(diǎn)的鏈隊(duì)列作出隊(duì)操作時(shí),不會(huì)改變頭指針的值。
A:對(duì)
B:錯(cuò)
正確答案:B
第四章
1、串是一種特殊的線性表,其特殊性體現(xiàn)在(? )。
A:數(shù)據(jù)元素是單個(gè)字符
B:順序存儲(chǔ)
C:鏈?zhǔn)酱鎯?chǔ)
D:邏輯結(jié)構(gòu)是線性結(jié)構(gòu)
正確答案:數(shù)據(jù)元素是單個(gè)字符
2、若串S=? ‘software’,其前綴真子串的數(shù)目是(? )。
A:7
B:10
C:9
D:8
正確答案:A
3、設(shè)有兩個(gè)串p和q? ,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱為(? )。
A:串的模式匹配
B:求子串
C:串聯(lián)接
D:求串長(zhǎng)
正確答案:A
4、已知串? S=‘a(chǎn)aab’,其next函數(shù)值為(? )。
A:0123
B:1123
C:1231
D:1211
正確答案:A
5、函數(shù)strcmp(‘stcabuc’,’stbabuc’)的返回值是(? )。
A:0
B:-1
C:2
D:1
正確答案:D
6、KMP算法的特點(diǎn)是在模式匹配時(shí)指示主串的指針不會(huì)回溯。
A:對(duì)
B:錯(cuò)
正確答案:A
7、模式串? P=‘a(chǎn)baabcac’的next函數(shù)值序列為01122312。
A:對(duì)
B:錯(cuò)
正確答案:A
8、串的存儲(chǔ)結(jié)構(gòu)有順序串、堆串和塊鏈串三種。
A:對(duì)
B:錯(cuò)
正確答案:A
9、子串的定位運(yùn)算稱為串的模式匹配。
A:對(duì)
B:錯(cuò)
正確答案:A
10、串’student’和’Student’相等。
A:對(duì)
B:錯(cuò)
正確答案:B
第五章
1、假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組A=array[1…100,1…100],設(shè)每個(gè)數(shù)組元素占2個(gè)存儲(chǔ)單元,基地址為10,則LOC[5,5]=(? )。
A:818
B:808
C:1010
D:1020
正確答案:A
2、若對(duì)n階對(duì)稱矩陣A以行序?yàn)橹餍蚍绞綄⑵湎氯切蔚脑?包括主對(duì)角線上所有元素)依次存放于一維數(shù)組B[1…(n(n+1))/2]中,則在B中確定aij(i<j)的位置k的計(jì)算公式為(? )。
A:j(j-1)/2+i
B: j*(j-1)/2+i
C: i(i+1)/2+j
? ? ? ? ? ? ? ? ? ? ?
D:? j(j+1)/2+i
正確答案:j*(j-1)/2+i
3、設(shè)廣義表L=((a,b,c)),則L的長(zhǎng)度和深度分別為(? )。
A:1和2
B:1和1
C:1和3
D:2和3
正確答案:A
4、在稀疏矩陣的三元組順序表中,每個(gè)三元組表示(? )。
A:矩陣中數(shù)據(jù)元素的行號(hào)、列號(hào)和數(shù)據(jù)值
B: 矩陣中非零元素的數(shù)據(jù)值
C:? 矩陣中數(shù)據(jù)元素的行號(hào)和列號(hào)
D: 矩陣中非零元素的行號(hào)、列號(hào)和數(shù)據(jù)值
正確答案:B
5、? 多維數(shù)組可以看作是一種特殊的線性表。
A:對(duì)
? ? 由于篇幅有限,完整版可移步公號(hào)免費(fèi)下載,見個(gè)人簡(jiǎn)介。