數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)通超星期末考試章節(jié)答案2024年在雙向循環(huán)鏈表中,在p指針?biāo)傅慕Y(jié)點(diǎn)后插入q所指向的新結(jié)點(diǎn),其修改指針的操作是(

)。

答案:q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;在雙向鏈表存儲(chǔ)結(jié)構(gòu)中,刪除p所指的結(jié)點(diǎn)時(shí)須修改指針(

)。

答案:p->next->prior=p->prior;p->prior->next=p->next;在單鏈表中,要將s所指結(jié)點(diǎn)插入到p所指結(jié)點(diǎn)之后,其語(yǔ)句應(yīng)為(

)。

答案:s->next=p->next;p->next=s;以下說法錯(cuò)誤的是(

)。

答案:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)優(yōu)于順序存儲(chǔ)結(jié)構(gòu)創(chuàng)建一個(gè)包括n個(gè)結(jié)點(diǎn)的有序單鏈表的時(shí)間復(fù)雜度是(

)。

答案:O(n2)線性表L=(a1,a2,……an),下列說法正確的是(

)。

答案:除第一個(gè)和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且僅有一個(gè)直接前驅(qū)和直接后繼。在一個(gè)長(zhǎng)度為n的順序表中,在第i個(gè)元素(1≤i≤n+1)之前插入一個(gè)新元素時(shí)須向后移動(dòng)(

)個(gè)元素。

答案:n-i+1將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,其最少的比較次數(shù)是(

)。

答案:n單鏈表的存儲(chǔ)密度(

)。

答案:小于1線性表L在(

)情況下適用于使用鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn)。

答案:需不斷對(duì)L進(jìn)行刪除插入線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址(

)。

答案:連續(xù)或不連續(xù)都可以鏈接存儲(chǔ)的存儲(chǔ)結(jié)構(gòu)所占存儲(chǔ)空間(

)。

答案:分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放表示結(jié)點(diǎn)間關(guān)系的指針向一個(gè)有127個(gè)元素的順序表中插入一個(gè)新元素并保持原來順序不變,平均要移動(dòng)

的元素個(gè)數(shù)為(

)。

答案:63.5在n個(gè)結(jié)點(diǎn)的順序表中,算法的時(shí)間復(fù)雜度是O(1)的操作是(

)。

答案:訪問第i個(gè)結(jié)點(diǎn)(1≤i≤n)和求第i個(gè)結(jié)點(diǎn)的直接前驅(qū)(2≤i≤n)順序表中第一個(gè)元素的存儲(chǔ)地址是100,每個(gè)元素的長(zhǎng)度為2,則第5個(gè)元素的地址是(

)。

答案:108(13)設(shè)廣義表L=((a,b,c)),則L的長(zhǎng)度和深度分別為(

)。

答案:1和2(12)廣義表((a,b,c,d))的表頭是()。

答案:(a,b,c,d)(11)廣義表A=(a,b,(c,d),(e,(f,g))),則Head(Tail(Head(Tail(Tail(A)))))的值為(

)。

答案:d(10)數(shù)組A[0..4,-1..-3,5..7]中含有元素的個(gè)數(shù)(

)。

答案:45(9)設(shè)二維數(shù)組A[1..m,1..n](即m行n列)按行存儲(chǔ)在數(shù)組B[1..m*n]中,則二維數(shù)組元素A[i,j]在一維數(shù)組B中的下標(biāo)為(

)。

答案:(i-1)*n+j-1(8)二維數(shù)組A的每個(gè)元素是由10個(gè)字符組成的串,其行下標(biāo)i=0,1,…,8,列下標(biāo)j=1,2,…,10。若A按行先存儲(chǔ),元素A[8,5]的起始地址與當(dāng)A按列先存儲(chǔ)時(shí)的元素(

)的起始地址相同。設(shè)每個(gè)字符占一個(gè)字節(jié)。

答案:A[3,10](7)若對(duì)n階對(duì)稱矩陣A以行序?yàn)橹餍蚍绞綄⑵湎氯切蔚脑?包括主對(duì)角線上所有元素)依次存放于一維數(shù)組B[1..(n(n+1))/2]中,則在B中確定aij(i答案:j*(j-1)/2+i(6)設(shè)有一個(gè)10階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式,以行序?yàn)橹鞔鎯?chǔ),a11為第一元素,其存儲(chǔ)地址為1,每個(gè)元素占一個(gè)地址空間,則a85的地址為(

)。

答案:33(5)設(shè)有數(shù)組A[i,j],數(shù)組的每個(gè)元素長(zhǎng)度為3字節(jié),i的值為1到8,j的值為1到10,數(shù)組從內(nèi)存首地址BA開始順序存放,當(dāng)用以列為主存放時(shí),元素A[5,8]的存儲(chǔ)首地址為(

)。

答案:BA+180(4)假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組A=array[1..100,1..100],設(shè)每個(gè)數(shù)據(jù)元素占2個(gè)存儲(chǔ)單元,基地址為10,則LOC[5,5]=(

)。

答案:818(3)串的長(zhǎng)度是指(

)。

答案:串中所含字符的個(gè)數(shù)(2)串下面關(guān)于串的的敘述中,(

)是不正確的?

答案:空串是由空格構(gòu)成的串(1)串是一種特殊的線性表,其特殊性體現(xiàn)在(

)。

答案:數(shù)據(jù)元素是一個(gè)字符n(n≥2)個(gè)權(quán)值均不相同的字符構(gòu)成哈夫曼樹,關(guān)于該樹的敘述中,錯(cuò)誤的是()。

答案:該樹一定是一棵完全二叉樹設(shè)F是一個(gè)森林,B是由F變換得的二叉樹。若F中有n個(gè)非終端結(jié)點(diǎn),則B中右指針域?yàn)榭盏慕Y(jié)點(diǎn)有(

)個(gè)。

答案:n+1引入二叉線索樹的目的是(

)。

答案:加快查找結(jié)點(diǎn)的前驅(qū)或后繼的速度若X是二叉中序線索樹中一個(gè)有左孩子的結(jié)點(diǎn),且X不為根,則X的前驅(qū)為(

)。

答案:X的左子樹中最右結(jié)點(diǎn)設(shè)哈夫曼樹中有199個(gè)結(jié)點(diǎn),則該哈夫曼樹中有(

)個(gè)葉子結(jié)點(diǎn)。

答案:100一棵非空的二叉樹的先序遍歷序列與后序遍歷序列正好相反,則該二叉樹一定滿足(

)。

答案:只有一個(gè)葉子結(jié)點(diǎn)在下列存儲(chǔ)形式中,(

)不是樹的存儲(chǔ)形式?

答案:順序存儲(chǔ)表示法若二叉樹采用二叉鏈表存儲(chǔ)結(jié)構(gòu),要交換其所有分支結(jié)點(diǎn)左、右子樹的位置,利用(

)遍歷方法最合適。

答案:后序?qū)Χ鏄涞慕Y(jié)點(diǎn)從1開始進(jìn)行連續(xù)編號(hào),要求每個(gè)結(jié)點(diǎn)的編號(hào)大于其左、右孩子的編號(hào),同一結(jié)點(diǎn)的左右孩子中,其左孩子的編號(hào)小于其右孩子的編號(hào),可采用(

)遍歷實(shí)現(xiàn)編號(hào)。

答案:后序利用二叉鏈表存儲(chǔ)樹,則根結(jié)點(diǎn)的右指針是(

)。

答案:空(5)深度為h的滿m叉樹的第k層有(

)個(gè)結(jié)點(diǎn)。(1=答案:mk-1一個(gè)具有1025個(gè)結(jié)點(diǎn)的二叉樹的高h(yuǎn)為(

)。

答案:11至1025之間一棵完全二叉樹上有1001個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)的個(gè)數(shù)是(

)。

答案:501由3個(gè)結(jié)點(diǎn)可以構(gòu)造出多少種不同的二叉樹?(

)

答案:5把一棵樹轉(zhuǎn)換為二叉樹后,這棵二叉樹的形態(tài)是(

)。

答案:唯一的(15)下面(

)方法可以判斷出一個(gè)有向圖是否有環(huán)。

答案:拓?fù)渑判?star3/origin/3485b625a8a12694386c6e533805f687.jpg

答案:0123/star3/origin/e98db2fa50f06a7205a06e3ea4dad5ed.jpg

答案:0134256(12)圖的BFS生成樹的樹高比DFS生成樹的樹高(

)。

答案:小或相等(11)廣度優(yōu)先遍歷類似于二叉樹的(

)。

答案:層次遍歷(10)深度優(yōu)先遍歷類似于二叉樹的(

)。

答案:先序遍歷(9)用鄰接表表示圖進(jìn)行深度優(yōu)先遍歷時(shí),通常借助(

)來實(shí)現(xiàn)算法。

答案:棧(8)用鄰接表表示圖進(jìn)行廣度優(yōu)先遍歷時(shí),通常借助(

)來實(shí)現(xiàn)算法。

答案:隊(duì)列(7)下面()算法適合構(gòu)造一個(gè)稠密圖G的最小生成樹。

答案:Prim算法(6)若從無向圖的任意一個(gè)頂點(diǎn)出發(fā)進(jìn)行一次深度優(yōu)先搜索可以訪問圖中所有的頂點(diǎn),則該圖一定是(

)圖。

答案:連通(5)G是一個(gè)非連通無向圖,共有28條邊,則該圖至少有(

)個(gè)頂點(diǎn)。

答案:9(4)n個(gè)頂點(diǎn)的連通圖用鄰接距陣表示時(shí),該距陣至少有(

)個(gè)非零元素。

答案:2(n-1)(2)在一個(gè)有向圖中,所有頂點(diǎn)的入度之和等于所有頂點(diǎn)的出度之和的(

)倍。

答案:1(1)在一個(gè)圖中,所有頂點(diǎn)的度數(shù)之和等于圖的邊數(shù)的(

)倍。

答案:2(15)采用線性探測(cè)法處理沖突,可能要探測(cè)多個(gè)位置,在查找成功的情況下,所探測(cè)的這些位置上的關(guān)鍵字(

)。

答案:不一定都是同義詞(14)設(shè)哈希表長(zhǎng)為14,哈希函數(shù)是H(key)=key%11,表中已有數(shù)據(jù)的關(guān)鍵字為15,38,61,84共四個(gè),現(xiàn)要將關(guān)鍵字為49的元素加到表中,用二次探測(cè)法解決沖突,則放入的位置是(

)。

答案:9(13)下面關(guān)于哈希查找的說法,不正確的是(

)。

答案:采用鏈地址法處理沖突時(shí),查找一個(gè)元素的時(shí)間是相同的(12)下面關(guān)于哈希查找的說法,正確的是(

)。

答案:不存在特別好與壞的哈希函數(shù),要視情況而定(11)m階B-樹是一棵(

)。

答案:m叉平衡排序樹(10)下面關(guān)于B-和B+樹的敘述中,不正確的是(

)。

答案:B-樹和B+樹都能有效地支持順序檢索(9)下列關(guān)于m階B-樹的說法錯(cuò)誤的是(

)。

答案:非葉結(jié)點(diǎn)至少有m/2(m為偶數(shù))或m/2+1(m為奇數(shù))棵子樹(8)在平衡二叉樹中插入一個(gè)結(jié)點(diǎn)后造成了不平衡,設(shè)最低的不平衡結(jié)點(diǎn)為A,并已知A的左孩子的平衡因子為0右孩子的平衡因子為1,則應(yīng)作(

)型調(diào)整以使其平衡。

答案:RL(7)分別以下列序列構(gòu)造二叉排序樹,與用其它三個(gè)序列所構(gòu)造的結(jié)果不同的是(

)。

答案:(100,60,80,90,120,110,130)(6)折半搜索與二叉排序樹的時(shí)間性能(

)。

答案:有時(shí)不相同(5)對(duì)22個(gè)記錄的有序表作折半查找,當(dāng)查找失敗時(shí),至少需要比較(

)次關(guān)鍵字。

答案:4(4)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,則它將依次與表中(

)比較大小,查找結(jié)果是失敗。

答案:20,70,30,50(3)如果要求一個(gè)線性表既能較快的查找,又能適應(yīng)動(dòng)態(tài)變化的要求,最好采用(

)查找法。

答案:分塊查找(2)適用于折半查找的表的存儲(chǔ)方式及元素排列要求為(

)。

答案:順序方式存儲(chǔ),元素有序(1)對(duì)n個(gè)元素的表做順序查找時(shí),若查找每個(gè)元素的概率相同,則平均查找長(zhǎng)度為(

)。

答案:(n+1)/2深度為5(設(shè)根的層數(shù)為1)的完全二叉樹至少有_______個(gè)結(jié)點(diǎn),至多有_______個(gè)結(jié)點(diǎn)。

答案:16;31數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算程序設(shè)計(jì)中的_____________,以及這些對(duì)象之間的_____________和_____________的學(xué)科。

答案:操作對(duì)象;關(guān)系;操作數(shù)據(jù)結(jié)構(gòu)算法中,通常用__________________和__________________兩種方法衡量其效率。

答案:時(shí)間復(fù)雜度;空間復(fù)雜度鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)包含____________域,_______________域。

答案:數(shù)據(jù);指針求串T在主串S中首次出現(xiàn)的位置的操作是________________。

答案:模式匹配線性表、棧和隊(duì)列都是

結(jié)構(gòu),可以在線性表的

位置插入和刪除元素;對(duì)于棧只能在

插入和刪除元素;對(duì)于隊(duì)列只能在

插入元素和在

刪除元素。

答案:線性;任意;棧頂;隊(duì)尾;隊(duì)頭串的長(zhǎng)度是指(

)。

答案:串中所含字符的個(gè)數(shù)設(shè)廣義表L=((a,b,c)),則L的長(zhǎng)度和深度分別為(

)。

答案:1和2廣義表A=(a,b,(c,d),(e,(f,g))),則Head(Tail(Head(Tail(Tail(A)))))的值為(

)。

答案:d串是一種特殊的線性表,其特殊性體現(xiàn)在(

)。

答案:數(shù)據(jù)元素是一個(gè)字符假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組A=array[1..100,1..100],設(shè)每個(gè)數(shù)據(jù)元素占2個(gè)存儲(chǔ)單元,基地址為10,則LOC[5,5]=(

)。

答案:818設(shè)有數(shù)組A[i,j],數(shù)組的每個(gè)元素長(zhǎng)度為3字節(jié),i的值為1到8,j的值為1到10,數(shù)組從內(nèi)存首地址BA開始順序存放,當(dāng)用以列為主存放時(shí),元素A[5,8]的存儲(chǔ)首地址為(

)。

答案:BA+180棧在(

)中有所應(yīng)用。

答案:前三個(gè)選項(xiàng)都有用鏈接方式存儲(chǔ)的隊(duì)列,在進(jìn)行刪除運(yùn)算時(shí)()。

答案:頭、尾指針可能都要修改鏈?zhǔn)綏=Y(jié)點(diǎn)為:(data,link),top指向棧頂.若想摘除棧頂結(jié)點(diǎn),并將刪除結(jié)點(diǎn)的值保存到x中,則應(yīng)執(zhí)行操作(

)。

答案:x=top->data;top=top->link;數(shù)組Q[n]用來表示一個(gè)循環(huán)隊(duì)列,f為當(dāng)前隊(duì)列頭元素的前一位置,r為隊(duì)尾元素的位置,假定隊(duì)列中元素的個(gè)數(shù)小于n,計(jì)算隊(duì)列中元素個(gè)數(shù)的公式為(

)。

答案:(n+r-f)%n若讓元素1,2,3,4,5依次進(jìn)棧,則出棧次序不可能出現(xiàn)在(

)種情況。

答案:4,3,1,2,5以下數(shù)據(jù)結(jié)構(gòu)中,(

)是非線性數(shù)據(jù)結(jié)構(gòu)

答案:樹算法的時(shí)間復(fù)雜度取決于(

)。

答案:A和B(3)通常要求同一邏輯結(jié)構(gòu)中的所有數(shù)據(jù)元素具有相同的特性,這意味著(

)。

答案:不僅數(shù)據(jù)元素所包含的數(shù)據(jù)項(xiàng)的個(gè)數(shù)要相同,而且對(duì)應(yīng)數(shù)據(jù)項(xiàng)的類型要一致與數(shù)據(jù)元素本身的形式、內(nèi)容、相對(duì)位置、個(gè)數(shù)無關(guān)的是數(shù)據(jù)的(

)。

答案:邏輯結(jié)構(gòu)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成(

)。

答案:線性結(jié)構(gòu)和非線性結(jié)構(gòu)順序表可以按下標(biāo)隨機(jī)(或直接)訪問,順序表還可以從某一指定元素開始,向前或向后逐個(gè)元素順序訪問

答案:對(duì)在順序表中,邏輯上相鄰的元素在物理位置上不一定相鄰

答案:錯(cuò)已知順序表長(zhǎng)度為n(元素序號(hào)為0~n-1),在i位置(0≤i≤n-1)插入一個(gè)元素需要移動(dòng)________個(gè)元素,把i位置(0≤i≤n-1)的元素刪除需要移動(dòng)_____個(gè)元素

答案:n-i;n-i-1線性表采用____存儲(chǔ)結(jié)構(gòu)時(shí),其存儲(chǔ)地址通常必須是連續(xù)的

答案:順序線性表的_______存儲(chǔ)結(jié)構(gòu)是一種隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)

答案:順序在一個(gè)長(zhǎng)度為n的順序表的表尾插入一個(gè)新元素的漸進(jìn)時(shí)間復(fù)雜度為(

答案:O(1)已知順序表長(zhǎng)度為n(元素序號(hào)為0~n-1),把i位置(0≤i≤n-1)的元素刪除需要移動(dòng)(

)個(gè)元素

答案:n-i-1已知順序表長(zhǎng)度為n(元素序號(hào)為0~n-1),在i位置(0≤i≤n-1)插入一個(gè)元素需要移動(dòng)(

)個(gè)元素

答案:n-i數(shù)據(jù)的邏輯結(jié)構(gòu)與數(shù)據(jù)元素本身的內(nèi)容和形式無關(guān)

答案:對(duì)從邏輯關(guān)系上講,數(shù)據(jù)結(jié)構(gòu)主要分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)

答案:對(duì)數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)對(duì)象與對(duì)象中數(shù)據(jù)元素之間關(guān)系的集合

答案:對(duì)算法就是程序

答案:錯(cuò)數(shù)據(jù)元素是最小的項(xiàng)

答案:錯(cuò)數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)包括________結(jié)構(gòu)和_______結(jié)構(gòu)兩大類

答案:線性;非線性數(shù)據(jù)結(jié)構(gòu)包括_________、_________和數(shù)據(jù)的運(yùn)算三個(gè)方面

答案:數(shù)據(jù);?結(jié)構(gòu)數(shù)據(jù)是_

的載體,它能夠被計(jì)算機(jī)程序識(shí)別、

和加工處理

答案:信息;存儲(chǔ)算法的一個(gè)特性是

,即算法必須執(zhí)行有限步就結(jié)束

答案:有窮性算法的一個(gè)特性是________,即針對(duì)一組確定的輸入,算法應(yīng)始終得出一組確定的結(jié)果。

答案:確定性i=1;while(i答案:O(logn)i=1;

的時(shí)間復(fù)雜度為(

答案:O(1)/star3/origin/a3b7bfdaccfee165d28b0118c4bf7827.png

答案:O(n)/star3/origin/3118fc46771e4e2420a7d18a25114e5e.png

答案:O(n^2)鏈表中每個(gè)結(jié)點(diǎn)都是兩個(gè)域

答案:錯(cuò)鏈?zhǔn)酱鎯?chǔ)在插入和刪除時(shí)需要保持?jǐn)?shù)據(jù)元素原來的物理順序(地址),不需要保持原來的邏輯順序

答案:錯(cuò)線性表若采用鏈?zhǔn)酱鎯?chǔ)表示時(shí)所有存儲(chǔ)結(jié)點(diǎn)之間的地址可連續(xù)可不連續(xù)

答案:對(duì)在具有n個(gè)結(jié)點(diǎn)的按結(jié)點(diǎn)數(shù)據(jù)有序的線性單鏈表中插入一個(gè)新結(jié)點(diǎn)并使鏈表依然有序的操作的時(shí)間復(fù)雜度是____

答案:O(n含有n個(gè)結(jié)點(diǎn)的雙向鏈表中,在指針p所指結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為____,在指針p所指結(jié)點(diǎn)前插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為____

答案:?O(1;O(1含有n個(gè)結(jié)點(diǎn)的單鏈表中(指針域指向后繼結(jié)點(diǎn)),在指針p所指結(jié)點(diǎn)后插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為_____,在指針p所指結(jié)點(diǎn)前插入一個(gè)新結(jié)點(diǎn)的時(shí)間復(fù)雜度為______

答案:O(1;O(n線性表采用____存儲(chǔ)結(jié)構(gòu)時(shí),其存儲(chǔ)地址連續(xù)與否均可以

答案:?鏈?zhǔn)骄€性表的_____存儲(chǔ)結(jié)構(gòu)是一種順序存取的存儲(chǔ)結(jié)構(gòu)

答案:鏈?zhǔn)皆O(shè)單鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,

link)。已知指針q所指結(jié)點(diǎn)是指針p所指結(jié)點(diǎn)的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列哪一個(gè)操作(

答案:s->link

=

p;

q->link

=

s;

當(dāng)棧的最大長(zhǎng)度難以估計(jì)時(shí),最好采用______存儲(chǔ)結(jié)構(gòu)

答案:鏈?zhǔn)饺舳褩2捎庙樞虼鎯?chǔ)結(jié)構(gòu),在不產(chǎn)生溢出的情況下往堆棧中插人一個(gè)新元素,首先將_____游標(biāo)____一個(gè)位置,然后將被插入元素放在修改后的_____游標(biāo)所指出的位置

答案:棧頂<;br>;后移<;br>;棧頂<;br>在具體的程序設(shè)計(jì)過程中,棧的順序存儲(chǔ)結(jié)構(gòu)一般是利用一個(gè)____描述的,同時(shí)還要定義一個(gè)整型變量來給出____的位置

答案:數(shù)組;棧頂;棧頂元素棧的插入和刪除操作都是在_____置進(jìn)行

答案:棧頂對(duì)某棧執(zhí)行刪除操作時(shí),只有在(

)的情況下,才會(huì)將棧底元素刪除

答案:棧中只剩1個(gè)元素若非空棧采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),棧的頭結(jié)點(diǎn)指針為top,刪除堆棧的一個(gè)元素的過程是依次執(zhí)行:1.p=top->next,2.(

),3.free(p)

答案:top->link=p->link若棧采用順序存儲(chǔ)結(jié)構(gòu),正常情況下,彈出堆棧中一個(gè)元素,棧頂指針top的變化是(

)

答案:top--若棧采用順序存儲(chǔ)結(jié)構(gòu),正常情況下,往堆棧中放入一個(gè)元素,棧頂指針top的變化是(

)

答案:top++若5個(gè)元素的出棧序列為1,2,3,4,5,則進(jìn)棧序列可能是

答案:3,1,2,5,4棧是一種(

)的數(shù)據(jù)結(jié)構(gòu)

答案:先進(jìn)后出鏈接隊(duì)列不存在溢出問題

答案:對(duì)對(duì)采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的棧進(jìn)行操作不必判斷溢出

答案:對(duì)元素進(jìn)出隊(duì)列一定滿足“先進(jìn)先出”的規(guī)律

答案:對(duì)棧允許進(jìn)行刪除操作的一端稱為棧頂,而棧底元素是不能刪除的

答案:錯(cuò)只要棧不空,就能任意刪除棧的元素

答案:錯(cuò)沒有元素的棧稱為空棧,空棧用不著棧頂指針

答案:錯(cuò)只允許在表的一端進(jìn)行插入和刪除操作的線性表稱為棧

答案:對(duì)棧和隊(duì)列都是特殊的線性表

答案:對(duì)若隊(duì)列采用順序存儲(chǔ)結(jié)構(gòu),未溢出時(shí)插入一個(gè)元素首先將_______游標(biāo)_______一個(gè)位置,然后再將被插入元素放在修改后的______游標(biāo)所指出的位置。

答案:隊(duì)尾;后移;隊(duì)尾在循環(huán)隊(duì)列中,若front與rear分別表示隊(duì)頭元素和隊(duì)尾元素的位置,則判斷循環(huán)隊(duì)列隊(duì)空的條件是(

)

答案:front==rear若非空隊(duì)列采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),隊(duì)頭元素指針與隊(duì)尾元素指針分別為front和rear,刪除隊(duì)列的一個(gè)元素的過程是依次執(zhí)行:1.p=front->next,2.(

),3.free(p)。

答案:front=p->next若隊(duì)列采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),隊(duì)頭元素指針與隊(duì)尾元素指針分別為front和rear,向隊(duì)列中插入一個(gè)由p所指的新結(jié)點(diǎn)的過程是依次執(zhí)行:1.(

),2.rear=p

答案:rear->next=p若隊(duì)列采用順序存儲(chǔ)結(jié)構(gòu),元素的排列順序(

)

答案:?由元素進(jìn)入隊(duì)列的先后順序決定某隊(duì)列初始為空,若它的輸入序列為a,b,c,d,它的輸出序列應(yīng)為(

)。

答案:a,b,c,d隊(duì)列是一種(

)的數(shù)據(jù)結(jié)構(gòu)

答案:先進(jìn)先出對(duì)于廣義表GL=(a1,a2,...,an),head(GL)=_____________。tail(GL)=__________________

答案:a1;(a2,...,an廣義表的長(zhǎng)度是指_____________________________,深度是指_________________________________。原子類型的深度為_________,空表的深度為____________

答案:最外層包含的元素個(gè)數(shù);所含括弧的重?cái)?shù);0;1設(shè)n行n列的下三角矩陣A已壓縮到一維數(shù)組B中,令B[1]為數(shù)組B的第一個(gè)元素。若按行為主序存儲(chǔ),則A[i,j]對(duì)應(yīng)的B中存儲(chǔ)位置為B[_______]

答案:i*(i-1通常采用________存儲(chǔ)結(jié)構(gòu)來存放數(shù)組。對(duì)二維數(shù)組可有兩種存儲(chǔ)方法:一種是以為______主序的存儲(chǔ)方式,另一種是以為_______主序的存儲(chǔ)方式。

答案:順序;行;行序;行優(yōu)先;列;列序;列優(yōu)先設(shè)有二維數(shù)組A[6][8],每個(gè)元素占6個(gè)字節(jié)存儲(chǔ),實(shí)現(xiàn)存放,A[0][0]的起始地址為1000,則數(shù)組的最后一個(gè)元素A[5][7]的地址=____________,按行優(yōu)先存放時(shí)元素A[1][4]的地址=____________,按列優(yōu)先存放時(shí)元素A[4][7]的地址=______________

答案:1282;1072;1276兩個(gè)串相等的充分必要是___________且______________

答案:?字符串長(zhǎng)度相同;對(duì)應(yīng)位置字符相同設(shè)T和P是兩個(gè)給定的串,在T中找等于P的子串的過程稱為

,又稱P為

答案:模式匹配;模式串下面說法不正確的是()

答案:廣義表的表頭總是一個(gè)廣義表設(shè)廣義表L=(a,(b,c,d),(e,(f)),

g),則L的長(zhǎng)度和深度分別為(

答案:4和3廣義表((a,b,c,d))的表尾是()

答案:(

)廣義表((a,b,c,d))的表頭是()

答案:(a,b,c,d)已知廣義表LS=((a,b,c),(d,e,f)),運(yùn)用head和tail函數(shù)取出LS中原子e的運(yùn)算是

答案:head(tail(head(tail(LS))))一個(gè)n*n的對(duì)稱矩陣,如果以行或列為主序采用壓縮存儲(chǔ),其容量為

答案:n*(n+1)/2二維數(shù)組A[10...20,5...10],采用列優(yōu)先方式存儲(chǔ),每個(gè)數(shù)據(jù)元素占4個(gè)存儲(chǔ)單元,且A[10,5]的存儲(chǔ)地址是1000,則A[20,9]的地址是

答案:1216二維數(shù)組M[i,j]的行下標(biāo)i的范圍從0到4,列下標(biāo)j的范圍從0到5,M按行存儲(chǔ)時(shí)元素M[3,5]的起始地址與M按列存儲(chǔ)時(shí)元素(

)的起始地址相同

答案:M[3,4]數(shù)組通常具有的兩種基本操作是

答案:讀取和寫入對(duì)矩陣壓縮存儲(chǔ)是為了

答案:節(jié)省空間遞歸函數(shù)的兩個(gè)要素是遞歸方程和

答案:邊界條件對(duì)二叉鏈表的訪問只能從_______開始

答案:根二叉樹通常有_______存儲(chǔ)結(jié)構(gòu)和______存儲(chǔ)結(jié)構(gòu)兩類存儲(chǔ)結(jié)構(gòu)

答案:順序;鏈?zhǔn)骄哂衝個(gè)結(jié)點(diǎn)的完全二叉樹的深度為_____

答案:ceil(log2(n+1一般的,二叉樹有____二叉樹、只有____的二叉樹、只有______的二叉樹、只有______的二叉樹、同時(shí)有______的二叉樹五種基本形態(tài)

答案:空;根;左子樹;左孩子;右子樹;右孩子;左子樹、右子樹;左孩子、右孩子樹(及一切樹形結(jié)構(gòu))是一種_____結(jié)構(gòu)。在樹上,_____結(jié)點(diǎn)沒有直接前趨。

答案:層次;?根設(shè)二叉樹有n個(gè)結(jié)點(diǎn),則其深度為(

)

答案:無法確定深度為6的二叉樹最多有(

)個(gè)結(jié)點(diǎn)

答案:63

/star3/origin/eab6be1b6225a0bc291aa7cd76bb1e96.png

答案:abdcefhg;dbachfeg;dbhfgeca/star3/origin/b2e7c41e7cd9b35523aec82b67cf9675.png

答案:abdcefg;bdacfeg;dbfgeca某二叉樹的先序遍歷結(jié)點(diǎn)訪問順序是abdgcefh,中序遍歷的結(jié)點(diǎn)訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是(

答案:gdbehfca已知某二叉樹的后續(xù)遍歷序列是dabec,中序遍歷序列是deabc,它的先序遍歷序列是(

答案:cedba二叉樹的中序遍歷序列中,任意一個(gè)結(jié)點(diǎn)均處于其左子樹所有結(jié)點(diǎn)的后面、其右子樹所有節(jié)點(diǎn)的前面,這說說法是(

答案:正確二叉樹的后序遍歷序列中,任意一個(gè)結(jié)點(diǎn)均處在其子女結(jié)點(diǎn)的中間,這種說法(

答案:錯(cuò)誤二叉樹的先序遍歷序列中,任意一個(gè)結(jié)點(diǎn)均處在其子女結(jié)點(diǎn)的前面,這種說法(

答案:正確深度優(yōu)先搜索遍歷類似于樹的____遍歷,它所有到的數(shù)據(jù)結(jié)構(gòu)是____;廣度優(yōu)先搜索遍歷類似于樹的___遍歷,它所用到的數(shù)據(jù)結(jié)構(gòu)是___

答案:先序;棧;層次;隊(duì)列圖的遍歷的基本方法有______優(yōu)先搜索和____優(yōu)先搜索兩種

答案:深度;廣度圖的存儲(chǔ)結(jié)構(gòu)主要有____和____兩種

答案:鄰接矩陣;鄰接表無向圖的鄰接矩陣是一個(gè)_____矩陣

答案:?對(duì)稱一個(gè)具有n個(gè)頂點(diǎn)的完全無向圖的邊數(shù)為________。一個(gè)具有n個(gè)頂點(diǎn)的完全有向圖的弧度數(shù)為_____。

答案:n(n-1;n(n-1若頂點(diǎn)的偶對(duì)是有序的,此圖為____圖,有序偶對(duì)用_____括號(hào)括起來;若頂點(diǎn)偶對(duì)是無序的,此圖為____圖,無序偶對(duì)用____括號(hào)括起來

答案:?有向;尖;<>;無向;圓;(/star3/origin/ffc3578aeefd7e7fdb9573cfb724b32a.png

答案:V1,V3,V4,V5,V2/star3/origin/b9824388450c27d7c48c44717df5bcde.png

答案:V1

V5

V3

V4

V2V7

V6

在無向圖中,所有頂點(diǎn)的度數(shù)之和是所有邊數(shù)的(

)倍

答案:2對(duì)無序表用二分法查找比順序查找快

答案:錯(cuò)假設(shè)在有序線性表A[1,...,20]上進(jìn)行二分查找,則比較一次查找成功的結(jié)點(diǎn)個(gè)數(shù)為_______,比較兩次查找成功結(jié)點(diǎn)個(gè)數(shù)為__________,比較三次查找成功結(jié)點(diǎn)個(gè)數(shù)為___________,比較四次查找成功結(jié)點(diǎn)個(gè)數(shù)為___________,比較五次查找成功結(jié)點(diǎn)個(gè)數(shù)為___________,平均查找次數(shù)為__________

答案:1;2;4;8;5;3.45己知有序表為(12,18,24,35,47,50,62,83,90,115,134)當(dāng)用二分法查找90時(shí),需______次查找成功,47時(shí)_____成功,查100時(shí),需______次才能確定不成功

答案:2;4;3采用二分查找方法查找長(zhǎng)度為n的線性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為

答案:O(logn)采用順序查找方法查找長(zhǎng)度為n的線性表時(shí),每個(gè)元素的平均查找長(zhǎng)度為A.nB.n/2C.(n+1)/2D.(n-1)/2

答案:(n+1)/2對(duì)線性表進(jìn)行二分查找時(shí),要求線性表必須

答案:以順序方式存儲(chǔ),且結(jié)點(diǎn)按關(guān)鍵字有序排列順序查找法適合于存儲(chǔ)結(jié)構(gòu)為_____________的線性表。

答案:順序存儲(chǔ)或鏈接存儲(chǔ)設(shè)有100個(gè)數(shù)據(jù)元素,采用折半查找時(shí),最大比較次數(shù)為(

答案:7對(duì)有14個(gè)數(shù)據(jù)元素的有序表R[14]進(jìn)行折半查找,查找到R[3]的關(guān)鍵碼等于給定值,此時(shí)元素比較順序依次為(

答案:R[6],R[2],R[4],R[3]設(shè)哈希表長(zhǎng)為14,哈希函數(shù)是H(key)=key%11,表中已有數(shù)據(jù)的關(guān)鍵字為15,38,61,84共四個(gè),現(xiàn)要將關(guān)鍵字為49的結(jié)點(diǎn)加到表中:(1)用線性探測(cè)法解決沖突,則放入位置是_________;(2)用平方探測(cè)法解決沖突,則放入的位置是____________

答案:8;9設(shè)哈希表長(zhǎng)為14,哈希函數(shù)是H(key)=key%13,表中已有數(shù)據(jù)的關(guān)鍵字為15,29,43,70共四個(gè),現(xiàn)要將關(guān)鍵字為56的結(jié)點(diǎn)加到表中:(1)用線性探測(cè)法解決沖突,則放入的位置為_________;(2)用平方探測(cè)法解決沖突,則放入的位置是___________。

答案:6;8在對(duì)一組記錄(54,38,96,23,15,72,60,45,83)進(jìn)行直接插入排序時(shí),當(dāng)把第7個(gè)記錄60插入到有序表時(shí),為尋找插入位置至少需比較____________

答案:3若一組記錄的排序碼為(46,79,56,38,40,84),則利用堆排序的方法建立的初始堆為(

答案:84,79,56,38,40,46

?設(shè)要將序列(Q,H,C,Y,P,A,M,S,R,D,F,X)中的關(guān)鍵碼按字母序的升序重新排列,二路歸并排序一趟掃描的結(jié)果是__________

答案:HQCYAPMSDRFX對(duì)于n個(gè)記錄的集合進(jìn)行歸并排序,時(shí)間復(fù)雜度為________,空間復(fù)雜度為________。

答案:O(nlog2n;O(n對(duì)于n個(gè)記錄的表進(jìn)行2路歸并排序,整個(gè)歸并排序需進(jìn)行(

)趟

答案:?log2(n)?下述幾種排序方法中,要求內(nèi)存最大的是(

答案:歸并排序快速排序的最壞情況,可以通過適當(dāng)選擇中軸元素避免。

答案:對(duì)快速排序算法在每一趟排序中都能找到一個(gè)元素放在其最終位置上。

答案:對(duì)冒泡排序的時(shí)間復(fù)雜度是O(n^2)。

答案:對(duì)對(duì)n個(gè)記錄采用快速排序,所需要的平均時(shí)間是O(nlog2n)。

答案:對(duì)簡(jiǎn)單選擇排序和堆排序性能都受初始序列順序的影響。

答案:錯(cuò)簡(jiǎn)單選擇排序和堆排序性能不受初始序列順序的影響。

答案:對(duì)在插入排序、選擇排序、快速排序、歸并排方法中,要求內(nèi)存量最大的是歸并排。

答案:對(duì)采用堆排序時(shí),若關(guān)鍵字的排列雜亂無序,則效率最高。

答案:錯(cuò)對(duì)序列{15,9,7,8,20,-1,4}進(jìn)行排序,進(jìn)行一趟后數(shù)據(jù)的排列變?yōu)閧9,15,7,8,20,-1,4},則采用的排序方法是()。

答案:直接插入排序?qū)個(gè)不同的排序碼進(jìn)行冒泡(遞增)排序,在下列(

)情況比較的次數(shù)最多。。

答案:從大到小排列好的對(duì)下列整數(shù)序列使用基數(shù)排序,一趟分配收集之后的結(jié)果是()。(179,208,93,306,55,859,984,9,271,33)

答案:{271,93,33,984,55,306,208,179,859,9}不同關(guān)鍵字序列,構(gòu)造的二叉排序樹的平均查找長(zhǎng)度都相同。

答案:錯(cuò)二分查找法要求待查表的關(guān)鍵字值必須有序。

答案:對(duì)在查找過程中,不做增加、刪除或修改的查找稱為動(dòng)態(tài)查找。

答案:錯(cuò)在二叉排序樹上刪除一個(gè)結(jié)點(diǎn)時(shí),不必移動(dòng)其它結(jié)點(diǎn),只要將該結(jié)點(diǎn)的父結(jié)點(diǎn)的相應(yīng)的指針域置空即可。

答案:錯(cuò)同樣的數(shù)據(jù)集合,二叉排序樹的查找性能與關(guān)鍵字的輸入序列有關(guān)系。

答案:對(duì)由同一關(guān)鍵字集合構(gòu)造的各棵二叉排序樹形態(tài)和平均查找長(zhǎng)度都不一定相同

答案:對(duì)哈希表是一種將關(guān)鍵字轉(zhuǎn)換為存儲(chǔ)地址的存儲(chǔ)方法。

答案:對(duì)Hash表的平均查找長(zhǎng)度與處理沖突的方法無關(guān)。

答案:錯(cuò)有n個(gè)元素存放在一維數(shù)組A[1...n]中,在進(jìn)行順序查找時(shí),這n個(gè)數(shù)的不同排列,其平均查找長(zhǎng)度不同。

答案:錯(cuò)以下不適合用分塊查的數(shù)據(jù)集是()。

答案:數(shù)據(jù)分成若干塊,每塊(除最后一塊外)中數(shù)據(jù)個(gè)數(shù)需相同;數(shù)據(jù)分成若干塊,塊內(nèi)數(shù)據(jù)必須有序,塊間不必有序;數(shù)據(jù)分成大小相等的若干塊,塊內(nèi)數(shù)據(jù)有序?qū)€性表進(jìn)行折半查找時(shí),要求線性表()。

答案:關(guān)鍵字有序;順序存儲(chǔ)關(guān)于哈希查找,以下說法正確的是()。

答案:裝填因子越大,越容易產(chǎn)生沖突;哈希查找有兩個(gè)關(guān)鍵問題:哈希函數(shù)和處理沖突的方法;鏈地址法和線性探測(cè)再散列都是解決沖突的方法具有12個(gè)關(guān)鍵字的有序表,折半查找的平均查找長(zhǎng)度()。

答案:‘37/12已知一如下10個(gè)記錄的表,其關(guān)鍵字序列為(2,15,19,25,30,34,44,55,58,80),用折半查找法查找關(guān)鍵字為55的記錄,比較次數(shù)是()。

答案:2次關(guān)鍵路徑上的活動(dòng)都是關(guān)鍵活動(dòng),它們是否按時(shí)完成會(huì)影響工期。

答案:對(duì)任何一個(gè)有向圖都一定存在拓?fù)湫蛄小?/p>

答案:錯(cuò)若一個(gè)無向圖的以頂點(diǎn)V1為起點(diǎn)進(jìn)行深度優(yōu)先遍歷,所得的遍歷序列唯一,則可以唯一確定該圖。

答案:對(duì)迪杰斯特拉算法求最短路徑時(shí),是按照路徑長(zhǎng)度遞增的順序求解的。

答案:對(duì)若一個(gè)無向圖中任一頂點(diǎn)出發(fā),進(jìn)行一次深度優(yōu)先遍歷,就可以訪問圖中所有的頂點(diǎn),則該圖一定是連通的。

答案:對(duì)存儲(chǔ)無向圖的鄰接矩陣是對(duì)稱的,因此只要存儲(chǔ)鄰接矩陣的上三角(或下三角)部分就可以了。

答案:對(duì)求稀疏圖的最小生成樹,用克魯斯卡爾算法來求解較好。

答案:對(duì)判斷一個(gè)有向圖是否存在回路,可以用()。

答案:深度優(yōu)先遍歷算法;拓?fù)渑判蛉魏我粋€(gè)無向連通網(wǎng)的最小生成樹()。

答案:有一棵或多棵如果含有n個(gè)頂點(diǎn)的圖形成一個(gè)環(huán),則它有(

)棵生成樹。

答案:n關(guān)鍵路徑是事件結(jié)點(diǎn)網(wǎng)絡(luò)中(

)。

答案:從源點(diǎn)到匯點(diǎn)的最長(zhǎng)路徑給定二叉樹先、中和后序遍歷序列中的兩個(gè),可以唯一確定一棵二叉樹。

答案:錯(cuò)完全二叉樹一定存在度為1的結(jié)點(diǎn)。

答案:錯(cuò)二叉樹的遍歷結(jié)果不是唯一的。

答案:對(duì)滿二叉樹一定完全是二叉樹。

答案:對(duì)具有n個(gè)葉子結(jié)點(diǎn)的哈夫曼樹共有2n-1個(gè)結(jié)點(diǎn)。

答案:對(duì)一棵二叉樹中,中序遍歷序列的最后一個(gè)結(jié)點(diǎn),必定是該二叉樹前序遍歷的最后一個(gè)結(jié)點(diǎn)。

答案:錯(cuò)以數(shù)據(jù)集{4,5,6,7,10,12,18}為葉結(jié)點(diǎn)權(quán)值所構(gòu)造的哈夫曼樹,其帶權(quán)路徑長(zhǎng)度為()。

答案:165已知一棵度為3的樹有2個(gè)度為1的結(jié)點(diǎn),3個(gè)度為2的結(jié)點(diǎn),4個(gè)度為3的結(jié)點(diǎn),則該樹中有()個(gè)葉子結(jié)點(diǎn)。

答案:12樹最適合用來表示的結(jié)構(gòu)是(

)。

答案:元素間具有分支及層次關(guān)系的結(jié)構(gòu)設(shè)森林T中有4棵樹,其結(jié)點(diǎn)個(gè)數(shù)分別為n1,n2,n3,n4,那么當(dāng)森林T轉(zhuǎn)換成一棵二叉樹后,則根結(jié)點(diǎn)的右子樹上有(

)個(gè)結(jié)點(diǎn)。

答案:n2+n3+n4廣義表B=(a,B)=(a,(a,(a,…,

)))的長(zhǎng)度為無窮大。

答案:對(duì)從邏輯結(jié)構(gòu)上看,n維數(shù)組的每個(gè)元素均屬于n個(gè)向量。

答案:對(duì)多維數(shù)組可以看作是一種特殊的線性表。

答案:對(duì)稀疏矩陣中非零元素的個(gè)數(shù)遠(yuǎn)小于矩陣中元素的總數(shù)。

答案:對(duì)tail(head(((a,b,c,d,e))))=(a,b,c,d,e)。

答案:錯(cuò)經(jīng)常對(duì)數(shù)組進(jìn)行的兩種基本操作是查找和修改。

答案:對(duì)在稀疏矩陣的三元組順序表中,每個(gè)三元組表示()。

答案:矩陣中非零元素的行號(hào);矩陣中非零元素的列號(hào);矩陣中非零元素的數(shù)據(jù)值假設(shè)以行序?yàn)橹餍虼鎯?chǔ)二維數(shù)組A=array[1...100,1...100],設(shè)每個(gè)數(shù)組元素占2個(gè)存儲(chǔ)單元,基地址為10,則LOC[5,5]=()。

答案:818串'student'和'Student'相等。

答案:錯(cuò)KMP算法的特點(diǎn)是在模式匹配時(shí)指示主串的指針不會(huì)回溯。

答案:對(duì)如果兩個(gè)串含有相同的字符,則說明它們相等。

答案:錯(cuò)模式串

P=‘a(chǎn)baabcac'的next函數(shù)值序列為01122312。

答案:對(duì)串的存儲(chǔ)結(jié)構(gòu)有順序串、堆串和塊鏈串三種。

答案:對(duì)子串的定位運(yùn)算稱為串的模式匹配。

答案:對(duì)串是一種特殊的線性表,其特殊性體現(xiàn)在()。

答案:數(shù)據(jù)元素是字符消除遞歸不一定需要使用棧。

答案:對(duì)棧和隊(duì)列都是限制存取點(diǎn)的線性結(jié)構(gòu)。

答案:對(duì)在對(duì)不帶頭結(jié)點(diǎn)的鏈隊(duì)列作出隊(duì)操作時(shí),不會(huì)改變頭指針的值。

答案:錯(cuò)順序棧因?yàn)槭琼樞虼鎯?chǔ),所以可以隨機(jī)存取棧中任意元素。

答案:錯(cuò)設(shè)計(jì)一個(gè)判別表達(dá)式中括號(hào)是否匹配出現(xiàn)的算法,采用()的數(shù)據(jù)結(jié)構(gòu)最佳。

答案:棧

順序表適宜于順序存取,而鏈表適宜于隨機(jī)存取。

答案:錯(cuò)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,邏輯上相鄰的兩個(gè)元素在物理位置上并不一定相鄰。

答案:對(duì)線性表的特點(diǎn)是每個(gè)元素都有一個(gè)前驅(qū)和一個(gè)后繼。

答案:錯(cuò)靜態(tài)鏈表與動(dòng)態(tài)鏈表在元素的插入、刪除上類似,不需做元素的移動(dòng)。

答案:對(duì)若某線性表最常用的操作是存取任一指定序號(hào)的元素和在最后進(jìn)行插入和刪除運(yùn)算,則利用()存儲(chǔ)方式最節(jié)省時(shí)間。

答案:順序表

順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大,且插入、刪除運(yùn)算效率高。

答案:錯(cuò)算法必須具備()這三個(gè)特性。

答案:可執(zhí)行性;確定性;有窮性在數(shù)據(jù)結(jié)構(gòu)中,從存儲(chǔ)結(jié)構(gòu)上可以將之分為()。

答案:順序結(jié)構(gòu);非順序結(jié)構(gòu)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成()。

答案:線性結(jié)構(gòu)和非線性結(jié)構(gòu)以下數(shù)據(jù)結(jié)構(gòu)中,()是非線性數(shù)據(jù)結(jié)構(gòu)。

答案:樹在下面的程序段中,x=x+1;的語(yǔ)句頻度為()。for(i=1;i<=n;i++)for(j=1;j<=n;j++)x=x+1;

答案:O(n^2)評(píng)價(jià)一個(gè)算法性能好壞的重要標(biāo)準(zhǔn)是()。

答案:算法的時(shí)間和空間復(fù)雜度若需要利用形式參數(shù)直接訪問修改實(shí)參值,則應(yīng)將形參說明為()參數(shù)。

答案:指針下列程序段的時(shí)間復(fù)雜度為

。sum=0;for(i=0;i<=n;i++)

for(j=0;j答案:O(n3設(shè)n為正整數(shù),下列劃線語(yǔ)句的執(zhí)行頻度為

。

i=1;k=0;while(i答案:n-1;f(n一個(gè)算法的時(shí)間復(fù)雜度為(n3+n2log2n+14n)/n2,其數(shù)量級(jí)表示為________。

答案:O(n通常從四個(gè)方面評(píng)價(jià)算法的質(zhì)量:_________、_________、_________和_________。

答案:正確性;正確;易讀性;可讀性;強(qiáng)壯性;健壯;健壯性;高效率低存儲(chǔ);高效率低存儲(chǔ)量需求評(píng)估一個(gè)算法的優(yōu)劣,通常從

空間復(fù)雜度兩個(gè)方面考察。

答案:時(shí)間復(fù)雜度;時(shí)間數(shù)據(jù)元素的存儲(chǔ)結(jié)構(gòu)形式有兩種:順序存儲(chǔ)結(jié)構(gòu)和

。

答案:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)線性結(jié)構(gòu)中元素之間存在一對(duì)一關(guān)系,樹形結(jié)構(gòu)中元素之間存在

關(guān)系,圖形結(jié)構(gòu)中元素之間存在

多對(duì)多

關(guān)系。

答案:一對(duì)多數(shù)據(jù)邏輯結(jié)構(gòu)包括集合結(jié)構(gòu)、線性結(jié)構(gòu)、樹形結(jié)構(gòu)和

四種類型。

答案:圖狀結(jié)構(gòu);圖形結(jié)構(gòu)以下數(shù)據(jù)結(jié)構(gòu)中哪一個(gè)是非線性結(jié)構(gòu)?(

)

答案:二叉樹數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)內(nèi)存中的表示是指

答案:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的

結(jié)構(gòu)。

答案:邏輯在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為

答案:線性結(jié)構(gòu)和非線性結(jié)構(gòu)在存儲(chǔ)數(shù)據(jù)時(shí),通常不僅要存儲(chǔ)各數(shù)據(jù)元素的值,而且還要存儲(chǔ)

答案:數(shù)據(jù)元素之間的關(guān)系順序存儲(chǔ)結(jié)構(gòu)的主要缺點(diǎn)是不利于插入或刪除操作。

答案:對(duì)在順序表中取出第i個(gè)元素所花費(fèi)的時(shí)間與i成正比。

答案:錯(cuò)在順序表中邏輯上相鄰的元素,其對(duì)應(yīng)的物理位置也是相鄰的。

答案:對(duì)順序存儲(chǔ)的線性表可以隨機(jī)存取。

答案:對(duì)對(duì)于順序存儲(chǔ)的長(zhǎng)度為n的線性表,刪除第一個(gè)元素和插入最后一個(gè)元素的時(shí)間復(fù)雜度分別對(duì)應(yīng)為O(1)和O(n)。

答案:錯(cuò)所謂隨機(jī)存取,就是通過首地址和元素的位序號(hào)值可以在O(1)的時(shí)間內(nèi)找到指定的元素。

答案:對(duì)在順序表上進(jìn)行插入、刪除操作時(shí)需要移動(dòng)元素的個(gè)數(shù)與待插入或待刪除元素的位置無關(guān)。

答案:錯(cuò)在長(zhǎng)度為n的順序表的第i個(gè)位置上插入一個(gè)元素(1≤i≤n+1),元素的移動(dòng)次數(shù)為

。

答案:n-i+1順序存儲(chǔ)表示中數(shù)據(jù)元素之間的邏輯關(guān)系是由(

)表示的。

答案:存儲(chǔ)位置用數(shù)組表示線性表的優(yōu)點(diǎn)是(

)。

答案:便于隨機(jī)存取線性表的(

)元素沒有直接后繼。

答案:最后一個(gè)下面關(guān)于線性表的敘述錯(cuò)誤的是(

)。

答案:線性表采用順序存儲(chǔ)便于插入和刪除操作的實(shí)現(xiàn)若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為(

)。

答案:O(n)下述哪一條是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)?(

)

答案:存儲(chǔ)密度大對(duì)于一單鏈表L(L為頭指針,且結(jié)點(diǎn)的后繼指針分量為next),其p結(jié)點(diǎn)(p為鏈表中某結(jié)點(diǎn)的指針)既不是第一個(gè)結(jié)點(diǎn),也不是最后一個(gè)結(jié)點(diǎn)。(1)在p結(jié)點(diǎn)后的插入s結(jié)點(diǎn)(s為某結(jié)點(diǎn)的指針)的語(yǔ)句序列是

;p->next=s;

。(2)刪除p結(jié)點(diǎn)的直接后繼結(jié)點(diǎn)的語(yǔ)句序列是

;p->next=q->next;free(q);

。(3)若L為帶頭結(jié)點(diǎn)的單鏈表,則在表首插入q結(jié)點(diǎn)的語(yǔ)句序列為

;L->next=q;

,鏈表為空的判定條件為

。(4)若L為不帶頭結(jié)點(diǎn)的單鏈表,則在表首插入q結(jié)點(diǎn)的語(yǔ)句序列為

;L=q;

,鏈表為空的判定條件為

。

答案:s->next=p->next;q=p->next;q->next=L->next;L->next==NULL;q->next=L;L==NULL設(shè)指針變量p指向單鏈表中結(jié)點(diǎn)A,若刪除單鏈表中結(jié)點(diǎn)A,則需要修改指針的操作序列為(

)。

答案:

q=p->next;p->data=q->data;p->next=q->next;free(q);在一個(gè)具有n個(gè)結(jié)點(diǎn)的有序單鏈表中插入一個(gè)新結(jié)點(diǎn)并仍然保持有序的時(shí)間復(fù)雜度是(

)。

答案:O(n)鏈表不具備的特點(diǎn)是

答案:可隨機(jī)訪問任一結(jié)點(diǎn)非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向)滿足

答案:p->next==head不帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是

答案:head==NULL不論是順序棧還是鏈棧,其入棧和出棧操作的時(shí)間復(fù)雜度均為____________。

答案:O(1設(shè)輸入序列為1、2、3,則經(jīng)過棧的作用后可以得到___________種不同的輸出序列。

答案:5后綴算式923+-102/-的值為__________。中綴算式(3+4X)-2Y/3對(duì)應(yīng)的后綴算式為_________。

答案:-1;34X*+2Y*3/-棧的邏輯特點(diǎn)是

,只允許在

插入和刪除數(shù)據(jù)元素。

答案:后進(jìn)先出;先進(jìn)后出;棧頂輸入序列為ABC,要變?yōu)锳CB,經(jīng)過的棧操作為(

)。

答案:push,pop,push,push,pop,pop鏈棧與順序棧相比,有一個(gè)較明顯的優(yōu)點(diǎn)是(

)。

答案:通常不會(huì)出現(xiàn)棧滿的情況若已知一個(gè)棧的進(jìn)棧序列是1,2,3,,n,其輸出序列為p1,p2,p3,…,pn,若p1=n,則pi為(

)。

答案:n-i+1一個(gè)棧的進(jìn)棧序列是a,b,c,d,e,則棧的不可能的輸出序列是(

)。

答案:dceab已知鏈隊(duì)列Q的頭、尾指針分別是front和rear,則出隊(duì)操作是:p=Q->front;

;free(p);

答案:Q->front=Q->front->next有容量為MAXSIZE的循環(huán)順序隊(duì)列cq,頭指針front,尾指針rear,隊(duì)空的條件是

,隊(duì)滿的條件是

。

答案:cq.front==cq.rear;cq.rear==cq.front;(cq.rear+1隊(duì)列的邏輯特點(diǎn)是

。

答案:先進(jìn)先出;后進(jìn)后出設(shè)順序循環(huán)隊(duì)列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊(duì)頭元素的前一位置,尾指針R總是指向隊(duì)尾元素的當(dāng)前位置,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為(

)。

答案:(R-F+M)%M以下(

)不是隊(duì)列的基本運(yùn)算?

答案:從隊(duì)列中刪除第i個(gè)元素一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是(

)。

答案:1,2,3,4__________遍歷二叉排序樹中的結(jié)點(diǎn)可以得到一個(gè)遞增的關(guān)鍵字序列(填先序、中序或后序)。

答案:中序設(shè)一棵完全二叉樹中有500個(gè)結(jié)點(diǎn),則該二叉樹的深度為__________;若用二叉鏈表作為該完全二叉樹的存儲(chǔ)結(jié)構(gòu),則共有___________個(gè)空指針域。

答案:9;501若用鏈表存儲(chǔ)一棵二叉樹時(shí),每個(gè)結(jié)點(diǎn)除數(shù)據(jù)域外,還有指向左孩子和右孩子的兩個(gè)指針。在這種存儲(chǔ)結(jié)構(gòu)中,n個(gè)結(jié)點(diǎn)的二叉樹共有________個(gè)指針域,其中有________個(gè)指針域是存放了地址,有________________個(gè)指針是空指針。

答案:2n;n-1;n+1假定一棵樹的廣義表表示為A(C,D(E,F(xiàn),G),H(I,J)),則樹中所含的結(jié)點(diǎn)數(shù)為__________個(gè),樹的深度為___________,樹的度為_________。

答案:9;3;3已知一棵完全二叉樹有47個(gè)結(jié)點(diǎn),則該二叉樹有(

)個(gè)葉子結(jié)點(diǎn)。

答案:24已知一棵高度為5的二叉樹,則該二叉樹的結(jié)點(diǎn)總數(shù)為(

)。

答案:5~31設(shè)某棵二叉樹中有2000個(gè)結(jié)點(diǎn),則該二叉樹的最小高度為(

)。

答案:11設(shè)某棵二叉樹的中序遍歷序列為ABCD,前序遍歷序列為CABD,則后序遍歷該二叉樹得到序列為(

)。

答案:BADC樹最適合用來表示(

)。

答案:元素之間具有分支層次關(guān)系的數(shù)據(jù)數(shù)據(jù)元素的存儲(chǔ)結(jié)構(gòu)形式有兩種:順序存儲(chǔ)結(jié)構(gòu)和

存儲(chǔ)結(jié)構(gòu)。

答案:鏈?zhǔn)綀D的遍歷算法有深度優(yōu)先搜索和

。

答案:廣度優(yōu)先搜索一個(gè)算法的時(shí)間復(fù)雜度為(n3+n2log2n+14n)/n2,其數(shù)量級(jí)表示為__________。

答案:O(n已知順序表的首地址為1000,且每個(gè)元素占用2個(gè)存儲(chǔ)單元,則第5個(gè)數(shù)據(jù)元素的存儲(chǔ)地址為________。

答案:1008無向圖的鄰接矩陣是一個(gè)_________。

答案:對(duì)稱矩陣順序棧S為空時(shí),則棧頂指針top值為_______。

答案:-1設(shè)單鏈表中指針p指向結(jié)點(diǎn)m,若要?jiǎng)h除m之后的結(jié)點(diǎn)(若存在),則需修改指針的操作為__________。

答案:p->next=p->next->next;在插入排序、冒泡排序、選擇排序中,

排序是不穩(wěn)定的。

答案:選擇排序判斷不帶頭結(jié)點(diǎn)的單鏈表L為空的條件是

答案:L==NULL樹形結(jié)構(gòu)中數(shù)據(jù)元素之間存在

的關(guān)系。

答案:一對(duì)多哈夫曼樹是其樹的帶權(quán)路徑長(zhǎng)度

的二叉樹。

答案:最小;最短某二叉樹的前序遍歷序列為ABDEC,則該二叉樹的根結(jié)點(diǎn)為_________。

答案:A串S1=“structure”,S2=“data”,則StrDelete(S1,6,StrLength(S2))=

。

答案:struc單鏈表是

的鏈接存儲(chǔ)表示。

答案:線性表二叉樹中各結(jié)點(diǎn)度的

稱為二叉樹的度。

答案:最大值判斷帶頭結(jié)點(diǎn)head的單鏈表為空的條件是

答案:head->next==NULL向一個(gè)長(zhǎng)度為n的向量中刪除第i個(gè)元素(1≤i≤n)時(shí),需向前移動(dòng)

個(gè)元素。

答案:n-i順序查找的時(shí)間復(fù)雜度是

。

答案:O(n具有5個(gè)頂點(diǎn)的有向圖,弧的總數(shù)最多為

。

答案:20以下哪種排序方式,第一輪排序之后一般無法找出最大(?。┲担?/p>

)。

答案:希爾排序順序查找法適用于存儲(chǔ)結(jié)構(gòu)為(

)的線性表。

答案:順序存儲(chǔ)或鏈接存儲(chǔ)以下屬于順序存儲(chǔ)結(jié)構(gòu)優(yōu)點(diǎn)的是(

)。

答案:存儲(chǔ)密度大設(shè)有一個(gè)棧,按A、B、C、D的順序進(jìn)棧,則可能為出棧序列的是(

)。

答案:DCBA樹的路徑長(zhǎng)度是從樹根到每個(gè)結(jié)點(diǎn)的路徑長(zhǎng)度的(

)。

答案:總和算法是指(

)。

答案:問題求解步驟的描述樹的先序遍歷與(

)等價(jià)。

答案:二叉樹的前序遍歷鏈棧與順序棧相比,有一個(gè)較明顯的優(yōu)點(diǎn)是(

)。

答案:通常不會(huì)出現(xiàn)棧滿的情況鏈?zhǔn)酱鎯?chǔ)表示中數(shù)據(jù)元素之間的邏輯關(guān)系是由(

)表示的。

答案:指針對(duì)關(guān)鍵字(10,14,35,20,7,43)從小到大直接插入排序,第3趟的排序結(jié)果是(

)。

答案:10,14,20,35,7,43棧的插入和刪除操作在(

)。

答案:棧頂圖形結(jié)構(gòu)的特點(diǎn)是(

)。

答案:多對(duì)多兩個(gè)字符串相等的條件是(

)。

答案:兩串的長(zhǎng)度相等,并且對(duì)應(yīng)位置上的字符相同設(shè)無向圖G中有n個(gè)頂點(diǎn),則該無向圖的最小生成樹上有(

)條邊。

答案:n-1已知一棵完全二叉樹深度為6層,第6層有8個(gè)結(jié)點(diǎn),則該完全二叉樹的結(jié)點(diǎn)個(gè)數(shù)是(

)。

答案:39設(shè)s1=”Hello”,s2=”student”,函數(shù)StrDel(s2,strlen(s1),3)的值是(

)。

答案:stud假定一個(gè)循環(huán)隊(duì)列的隊(duì)頭和隊(duì)尾指針分別為p和q,則判斷隊(duì)空的條件為(

)。

答案:p==q單鏈表中p為s的前驅(qū)結(jié)點(diǎn),則刪除s結(jié)點(diǎn)的操作是(

)。

答案:p->next=s->next;free(s);

權(quán)值集合W=(7,11,3,9,5)構(gòu)造的哈夫曼樹的帶權(quán)路徑長(zhǎng)度是(

)。

答案:78數(shù)據(jù)結(jié)構(gòu)被形式地定義為(K,R),其中K是(

)的有限集合,R是K上的關(guān)系的有限集合。

答案:數(shù)據(jù)元素設(shè)a,b為一棵二叉樹上的兩個(gè)節(jié)點(diǎn),在中序遍歷時(shí),a在b前面的條件是(

)。

答案:a在b的左方對(duì)線性表,在下列哪種情況下應(yīng)當(dāng)采用鏈表表示?(

)

答案:經(jīng)常需要進(jìn)行插入和刪除操作

單鏈表中,增加頭結(jié)點(diǎn)的目的是為了(

)。

答案:方便運(yùn)算的實(shí)現(xiàn)

對(duì)有6個(gè)元素的無序表進(jìn)行直接插入排序,需要進(jìn)行多少趟排序?(

)。

答案:5設(shè)某棵二叉樹中有2000個(gè)結(jié)點(diǎn),則該二叉樹的最小高度為(

)。

答案:11設(shè)指針變量top指向當(dāng)前順序棧的棧頂,則刪除棧頂元素的操作序列為(

)。

答案:top=top-1;串的長(zhǎng)度是指(

)。

答案:串中所含字符的個(gè)數(shù)最小生成樹邊的集合里一定會(huì)包含權(quán)值

的邊。

答案:最小在選擇存儲(chǔ)結(jié)構(gòu)時(shí),既要考慮數(shù)據(jù)值本身的存儲(chǔ),還需要考慮數(shù)據(jù)之間_______的存儲(chǔ)。

答案:關(guān)系n個(gè)頂點(diǎn)的連通圖的生成樹含有________條邊。

答案:n-1有一個(gè)算法的執(zhí)行次數(shù)是f(n)=4n2-2n+6,該算法的時(shí)間復(fù)雜度是

。

答案:O(n2樹所轉(zhuǎn)的二叉樹的根結(jié)點(diǎn)無

。

答案:右子樹有n個(gè)葉子結(jié)點(diǎn)的哈夫曼樹共有

結(jié)點(diǎn)。

答案:2n-1將一棵有100個(gè)結(jié)點(diǎn)的完全二叉樹,按照從上到下、同一層次上按從左到石的順序?qū)λ薪Y(jié)點(diǎn)從1開始編號(hào),則編號(hào)為50的結(jié)點(diǎn),其左孩子編號(hào)是____________。

答案:100字符串模式匹配算法有BF匹配算法和

。

答案:KMP匹配算法若用鏈表存儲(chǔ)一顆二叉樹時(shí),每個(gè)結(jié)點(diǎn)除數(shù)據(jù)域外,還有指向左孩子和右孩子的兩個(gè)指針。在這種存儲(chǔ)結(jié)構(gòu)中,n個(gè)結(jié)點(diǎn)的二叉樹共用_______個(gè)指針域。

答案:2n判斷帶頭結(jié)點(diǎn)head的單鏈表為空的條件是

。

答案:head->next==NULL在無向圖G的鄰接矩陣A中,對(duì)角線上A[i][i]的值等于_______。

答案:0若以{4,5,6,7,8}作為葉子結(jié)點(diǎn)的權(quán)值構(gòu)造哈夫曼樹,則其帶權(quán)路徑長(zhǎng)度是_________。

答案:69在串S=“study”中,以t為首字符的子串有______個(gè)。

答案:4已知順序表中每個(gè)元素占用3個(gè)存儲(chǔ)單元,第13個(gè)元素的存儲(chǔ)地址為336,則順序表的首地址為_______。

答案:300棧s經(jīng)過運(yùn)算InitStack(s);Push(s,a);Push(s,b)后StackTop(s)的值是________。

答案:b對(duì)無向圖,其鄰接矩陣是一個(gè)關(guān)于__________對(duì)稱的矩陣。

答案:主對(duì)角線順序查找通常將給定值k放置在順序表下標(biāo)

的位置作為哨兵。

答案:0具有n個(gè)頂點(diǎn)的無向連通圖其最小生成樹具有_______邊。

答案:n-1若兩個(gè)串的長(zhǎng)度相等且對(duì)應(yīng)位置上的字符也相等,則稱兩個(gè)串

答案:相等字符串s="data",它有

個(gè)子串。

答案:10在一個(gè)具有n個(gè)頂點(diǎn)的有向圖中,若所有頂點(diǎn)的出度數(shù)之和為s,則所有頂點(diǎn)的入度數(shù)之和為(

)。

答案:s在一棵具有5層的滿二叉樹中結(jié)點(diǎn)總數(shù)為(

)。

答案:31在具有n個(gè)單元的順序存儲(chǔ)的循環(huán)隊(duì)列中,假定front和rear分別為隊(duì)頭指針和隊(duì)尾指針,則判斷隊(duì)空的條件為(

)。

答案:rear==front棧和隊(duì)列共同具有的特點(diǎn)是(

)。

答案:只允許在端點(diǎn)進(jìn)行操作運(yùn)算線性表的(

)元素沒有直接前驅(qū)。

答案:第一個(gè)一棵完全二叉樹度為1的結(jié)點(diǎn)個(gè)數(shù)是(

)。

答案:1或0在一個(gè)單鏈表中,已知q結(jié)點(diǎn)是p結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn),若在q和p之間插入s結(jié)點(diǎn),則須執(zhí)行(

)。

答案:q->next=s;s->next=p下面的說法中,只有(

)是正確的。

答案:串是一種特殊的線性表已知一棵高度為5的二叉樹,則該二叉樹的結(jié)點(diǎn)總數(shù)為(

)。

答案:5~31以下數(shù)據(jù)結(jié)構(gòu)中哪一個(gè)是非線性結(jié)構(gòu)?(

)。

答案:二叉樹在一個(gè)長(zhǎng)度為n的順序表中刪除第i個(gè)元素(0<=i<=n)時(shí),需向前移動(dòng)(

)個(gè)元素。

答案:n-i

下列哪項(xiàng)不是樹轉(zhuǎn)換為二叉樹的步驟?(

)

答案:刪去二叉樹中所有的雙親結(jié)點(diǎn)與右孩子結(jié)點(diǎn)的連線。有兩個(gè)串p和q,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱為(

)。

答案:匹配已知棧的容量為4。若進(jìn)棧序列為1,2,3,4,5,6,且進(jìn)棧和出??梢源┎暹M(jìn)行,則可能出現(xiàn)的出棧序列為(

)。

答案:3,2,5,4,1,6棧和隊(duì)列具有相同的(

)。

答案:邏輯結(jié)構(gòu)在一個(gè)具有n個(gè)單元的順序棧中,假定以地址低端(即0單元)作為棧底,以top作為棧頂指針,當(dāng)做出棧處理時(shí),top變化為(

)。

答案:top--順序查找平均情況下算法的時(shí)間復(fù)雜度為(

)。

答案:O(n)一個(gè)棧的輸入序列為abc,則下列序列中不可能是棧的輸出序列的是(

)。

答案:

cab折半查找法適用于存儲(chǔ)結(jié)構(gòu)為(

)的有序表。

答案:順序存儲(chǔ)字符串“key”有(

)個(gè)子串。

答案:7下列哪一種圖的鄰接矩陣是對(duì)稱矩陣?(

)

答案:無向圖數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)內(nèi)存中的表示是指(

)。

答案:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān)二叉樹下列說法正確的是(

)。

答案:一棵二叉樹的度可以小于2以下(

)不是隊(duì)列的基本運(yùn)算。

答案:從隊(duì)列中刪除第i個(gè)元素編寫算法,實(shí)現(xiàn)將兩個(gè)非遞減順序表L1和L2合并到新的順序表L中,使合并后的順序表仍然保持非遞減的特性,函數(shù)頭部定義如下

List*merge(List*L1,List*L2){}已知:1)創(chuàng)建新表的算法List*MakeEmpty(){

List*PtrL;

PtrL=(List*)malloc(sizeof(List));

PtrL->Last=-1;

returnPtrL;}2)插入元素算法voidInsert(ElementTypeX,inti,List*PtrL){

intj;

if(PtrL->Last==MAXSIZE-1){

/*表空間已滿,不能插入*/

printf("表滿");

return;

}

if(i<1||i>PtrL->Last+2){/*檢查插入位置的合法性*/

printf("位置不合法");

return;

}

for(j=PtrL->Last;j>=i-1;j--)

PtrL->Data[j+1]=PtrL->Data[j];

/*將ai~an倒序向后移動(dòng)*/

PtrL->Data[i-1]=X;

/*新元素插入*/

PtrL->Last++;

/*Last仍指向最后元素*/

return;

}

1、完成時(shí)間本周日19:00,互評(píng)完成時(shí)間本周日22:00前2、函數(shù)頭不要變更,只需完成函數(shù)內(nèi)部的實(shí)現(xiàn)代碼,不需要調(diào)通程序。

答案:評(píng)分標(biāo)準(zhǔn):1、算法的插入步驟正確:分別比較L1、L2中元素大小分別插入順序表L得70分

2、在1的基礎(chǔ)上,分別考慮到L1、L2表中剩余的元素插入情況70分~90分

3、在前兩點(diǎn)基礎(chǔ)上,算法簡(jiǎn)潔,可閱讀性強(qiáng)得90-100分List*merge(List*L1,List*L2){inti=0,j=0;

List*L=MakeEmpty();

/*初始化順序表L*/

while(iLast+1&&jLast+1)

if(L1->Data[i]Data[j])

/*將L1->data[i]插入到L尾部*/

{

Insert(L1->Data[i],L->Last+2,L);

i++;}

else

/*將L2->data[j]插入到L的尾部*/

{

Insert(L2->Data[j],L->Last+2,L);j++;}

while(iLast+1)

/*L2中的元素已插完,將L1的剩余部分插入到L尾部*/

{

Insert(L1->Data[i],L->Last+2,L);

i++;

}

while(jLast+1)

/*L1中的元素已插完,將L2的剩余部分插入到L尾部*/

{

Insert(L2->Data[j],L->Last+2,L);

j++;

}

returnL;}/star3/origin/f357f617e5e9e3c65b32affb1fa236c2.png

答案:LinkList*CreatList(intn){

LinkList*head,*p,*s;

/*p用于指向新鏈入結(jié)點(diǎn),s用于指向新開辟結(jié)點(diǎn)*/

inti;

p=head=(LinkList*)malloc(sizeof(LinkList));/*1、創(chuàng)建頭結(jié)點(diǎn)head,p為當(dāng)前的尾節(jié)點(diǎn)*/

for(i=1;i<=n;i++)

{

s=(LinkList*)malloc(sizeof(LinkList));

/*2、s指向新開辟結(jié)點(diǎn)*/

scanf("%d",&s->data);

/*新結(jié)點(diǎn)數(shù)據(jù)域賦值*/

p->next=s;

/*將新結(jié)點(diǎn)連接到p所指結(jié)點(diǎn)的后面*/

p=s;

/*p指向新鏈入結(jié)點(diǎn)*/

}

p->next=NULL;

/*尾結(jié)點(diǎn)的指針域置為空*/

returnhead;

/*返回頭指針*/}編寫算法,將十進(jìn)制正整數(shù)m轉(zhuǎn)換成n(2≤n≤9)進(jìn)制數(shù)。已知棧的初始化函數(shù)為:sqStack*createStack()出棧函數(shù)為intpop(sqStack*s),壓棧函數(shù)為:voidpush(sqStack*s,intx)算法頭:voidconversion(intm,intn)(要求在conversion中輸出n進(jìn)制轉(zhuǎn)換后的每一位對(duì)應(yīng)的數(shù)值)

答案:評(píng)分標(biāo)準(zhǔn):1、算法的插入步驟正確:使用題目中給定的新建棧,入棧壓棧函數(shù)完成此題功能得80分

2、在1的基礎(chǔ)上,算法簡(jiǎn)潔,可閱讀性強(qiáng)得90-100分voidconversion(intm,intn){/*---------------1、新建棧--------------------------*/

sqStack*s=createStack();

/*---------------2、輾轉(zhuǎn)相除取余數(shù)m%n,余數(shù)壓棧,循環(huán)操作,直至m為0-----------------*/

while(m)

{

intremainder=m%n;

m=m/n;

push(s,remainder);

}

printf("十進(jìn)制數(shù)%d轉(zhuǎn)換為%d數(shù)為:",m,n);

/*---------------3、元素依次出棧,即為轉(zhuǎn)換后的進(jìn)制------------------------*/

while(s->top!=-1)

{

printf("%d",pop(s));

}

printf("\n");}設(shè)計(jì)一個(gè)遞歸算法,實(shí)現(xiàn)對(duì)順序查找表ST中key為k的二分查找,,表的長(zhǎng)度為n;算法頭給定:intbinsearch(stable*ST,intlow,inthigh,intk)評(píng)分標(biāo)準(zhǔn):1、使用遞歸函數(shù)設(shè)計(jì)正確

得80-90分

2、程序簡(jiǎn)潔可讀性強(qiáng)得90-100分

3、代碼簡(jiǎn)潔易懂得90-100分

答案:intbinsearch(stable*ST,intlow,inthigh,intk){

if(lowdata[mid].key==key)

returnmid;

/*找到*/

elseif(keydata[mid].key)

returnbinsearch(ST,low,mid-1,k);

/*在左半?yún)^(qū)*/

elselow=mid+1;

returnbinsearch(ST,mid+1,high,k);

/*在右半?yún)^(qū)*/

}某算法的時(shí)間復(fù)雜度為O(N*N),表明該算法的()?!疚錆h大學(xué)2006]

答案:問題規(guī)模是N*N27.可以用()定義一個(gè)完整的數(shù)據(jù)結(jié)構(gòu)?!局猩酱髮W(xué)2004一、1(1分)】

答案:抽象數(shù)據(jù)類型在定義ADT時(shí)。除數(shù)據(jù)對(duì)象和數(shù)據(jù)關(guān)系外,還需說明()?!颈本├砉ご髮W(xué)2005一l分)】

答案:基本操作6.在數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)的最小本單位是()?!颈本├砉ご髮W(xué)2006九、1(1分)】

答案:數(shù)據(jù)項(xiàng)6.在數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)的基本單位是()?!颈本├砉ご髮W(xué)2004五、1(1分)】

答案:數(shù)據(jù)元素下面算法的時(shí)間復(fù)雜度x=0;y=0;for(k=1;k<=n;k++)x++;for(i=1;i<=m;i++)for(j=1;j<=n;j++)y++;

答案:o(n+n*m)下面程序段的時(shí)間復(fù)雜度是(

)。

for(i=0;i答案:O(m*n)在數(shù)據(jù)結(jié)構(gòu)的討論中把數(shù)據(jù)結(jié)構(gòu)從邏輯上分為()兩大類。

答案:線性結(jié)構(gòu)與非線性結(jié)構(gòu)研究數(shù)據(jù)結(jié)構(gòu)就是研究(

答案:數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及其基本操作完善下列算法,實(shí)現(xiàn)二叉樹所有結(jié)點(diǎn)左右子樹的交換voidexchange(BiTreebt)//將二叉樹bt所有結(jié)點(diǎn)的左右子樹交換{

if(

1

)

{BiTrees;

s=bt->lchild;

2

;

3

;

4

;

exchange(bt->rchild);

}}

答案:bt;bt!=NULL;bt->lchild=bt->rchild;bt->rchild=s;exchange(bt->lchild完善下列算法,實(shí)現(xiàn)返回二叉樹先序遍歷序列的最后一個(gè)結(jié)點(diǎn)BiTreeLastNode(BiTreebt)//返回二叉樹bt先序序列的最后一個(gè)結(jié)點(diǎn)的指針{BiTreep=bt;if(

1

)return(NULL);elsewhile(

2

)

if(p->rchild)

3

;

elseif(p->lchild)p=p->lchild;

else

4

;

}

答案:bt==NULL;p==NULL;p!=NULL;p;p=p->rchild;returnp;return(p有一份電文中共使用6個(gè)字符:a,b,c,d,e,f,它們的出現(xiàn)頻率依次為2,3,4,7,8,9,試構(gòu)造一棵哈夫曼樹,則其加權(quán)路徑長(zhǎng)度WPL為_(1)__,字符c的編碼是_(2)__?!局袊?guó)礦業(yè)大學(xué)2000一、7(3分)】

答案:80;000;001;010;100;110;101;111;011一棵左子樹為空的二叉樹在先序線索化后,其中的空鏈域的個(gè)數(shù)為:______?!緩B門大學(xué)2002六、1(4分)】

答案:2如果結(jié)點(diǎn)A有3個(gè)兄弟,而且B是A的雙親,則B的度是______?!疚靼搽娮涌萍即髮W(xué)1999軟件一、4(2分)】

答案:4在二叉樹中,使用二叉鏈表保存(指向左右孩子的指針分別為lchild,rchild)指針p所指結(jié)點(diǎn)為葉子結(jié)點(diǎn)的條件是______。【合肥工業(yè)大學(xué)1999三、7(2分)】

答案:p->lchild==NULL&&p->rchild==NULL

;p->rchild==NULL&&p->lchild==NULL下述編碼中哪一個(gè)不是前綴碼(

)?!局锌圃河?jì)算所2000一、2(2分)】

答案:(0,1,00,11)48.一棵左右子樹均不空的二叉樹在先序線索化后,其中空的鏈域的個(gè)數(shù)是:(

)。

【合肥工業(yè)大學(xué)2000一、5(2分)】

答案:1一棵二叉樹的前序遍歷序列為ABCDEFG,它的中序遍歷序列可能是(

)【北京工業(yè)大學(xué)2001一、2(2分)】A.

B.

C.

D.

答案:ABCDEFG對(duì)二叉樹的結(jié)點(diǎn)從1開始進(jìn)行連續(xù)編號(hào),要求每個(gè)結(jié)點(diǎn)的編號(hào)大于其左、右孩子的編號(hào),同一結(jié)點(diǎn)的左右孩子中,其左孩子的編號(hào)小于其右孩子的編號(hào),可采用(

)次序的遍歷實(shí)現(xiàn)編號(hào)升序排列?!颈本├砉ご髮W(xué)2000一、4(2分)】

答案:后序利用二叉鏈表存儲(chǔ)樹,則根結(jié)點(diǎn)的右指針是(

)?!厩鄭u大學(xué)2001五、5(2分)】

答案:空將有關(guān)二叉樹的概念推廣到三叉樹,則一棵有244個(gè)結(jié)點(diǎn)的完全三叉樹的高度()【南京理工大學(xué)2000一、51.5分)】

答案:6一棵完全二叉樹上有1001個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)的個(gè)數(shù)是(

)【西安交通大學(xué)1996三、2(3分)】

答案:501設(shè)森林F對(duì)應(yīng)的二叉樹為B,它有m個(gè)結(jié)點(diǎn),B的根為p,p的右子樹結(jié)點(diǎn)個(gè)數(shù)為n,森林F中第一棵樹的結(jié)點(diǎn)個(gè)數(shù)是(

【南京理工大學(xué)2000一、17(1.5分)】

答案:m-n算術(shù)表達(dá)式a+b*(c+d/e)轉(zhuǎn)為后綴表達(dá)式后為(

答案:abcde/+*+對(duì)于長(zhǎng)度為n的關(guān)鍵字序列創(chuàng)建一顆二叉排序樹,該樹可能的最大高度是(

)。

答案:n對(duì)于下列關(guān)鍵字序列,不可能構(gòu)成某二叉排序樹中一條查找路徑的序列是()?!?011年全國(guó)試題7(2分)】

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論