資料結構與演算法 試題與答案
一、判斷題:
1、線性表的邏輯順序與物理順序總是一致的。( )
2、線性表的順序儲存表示優於鏈式儲存表示。( )
3、線性表若採用鏈式儲存表示時所有結點之間的儲存單元地址可連續可不連續。( )
4、二維陣列是其陣列元素為線性表的線性表。( )
5、每種資料結構都應具備三種基本運算:插入、刪除和搜尋。( )
6、資料結構概念包括資料之間的邏輯結構,資料在計算機中的儲存方式和資料的運算三個
方面。( )
7、線性表中的每個結點最多隻有一個前驅和一個後繼。( )
8、線性的資料結構可以順序儲存,也可以連結儲存。非線性的資料結構只能連結儲存。( )
9、棧和佇列邏輯上都是線性表。( )
10、單鏈表從任何一個結點出發,都能訪問到所有結點 ( )
11、刪除二叉排序樹中一個結點,再重新插入上去,一定能得到原來的二叉排序樹。( )
12、快速排序是排序演算法中最快的一種。( )
13、多維陣列是向量的推廣。( )
14、一般樹和二叉樹的結點數目都可以為0。 ( )
15、直接選擇排序是一種不穩定的排序方法。( )
16、98、對一個堆按層次遍歷,不一定能得到一個有序序列。( )
17、在只有度為0和度為k的結點的k叉樹中,設度為0的結點有n0個,度為k的結點有nk個,則有n0=nk+1。( )
18、折半搜尋只適用與有序表,包括有序的順序表和有序的連結串列。( )
19、堆疊在資料中的儲存原則是先進先出。( )
20、佇列在資料中的儲存原則是後進先出。( )
21、用相鄰矩陣表示圖所用的儲存空間大小與圖的邊數成正比。( )
22、哈夫曼樹一定是滿二叉樹。( )
23、程式是用計算機語言表述的演算法。( )
24、線性表的順序儲存結構是通過資料元素的儲存地址直接反映資料元素的邏輯關係。( )
25、用一組地址連續的儲存單元存放的元素一定構成線性表。( )
26、堆疊、佇列和陣列的邏輯結構都是線性表結構。( )
27、給定一組權值,可以唯一構造出一棵哈夫曼樹。( )
28、只有在初始資料為逆序時,氣泡排序所執行的比較次數最多。( )
29、希爾排序在較率上較直接接入排序有較大的改進。但是不穩定的。( )
30、在平均情況下,快速排序法最快,堆積排序法最節省空間。( )
31、快速排序法是一種穩定性排序法。( )
32、演算法一定要有輸入和輸出。( )
33、演算法分析的目的旨在分析演算法的效率以求改進演算法。( )
34、非空線性表中任意一個數據元素都有且僅有一個直接後繼元素。( )
35、資料的儲存結構不僅有順序儲存結構和鏈式儲存結構,還有索引結構與雜湊結構。( )
36、若頻繁地對線性表進行插入和刪除操作,該線性表採用順序儲存結構更合適。( )
37、若線性表採用順序儲存結構,每個資料元素佔用4個儲存單元,第12個數據元素的儲存地址為144,則第1個數據元素的儲存地址是101。( )
38、若長度為n的線性表採用順序儲存結構,刪除表的第i個元素之前需要移動表中n-i+1個元素。( )
39、符號p->next出現在表示式中表示p所指的那個結點的內容。( )
40、要將指標p移到它所指的結點的下一個結點是執行語句p←p->next。( )
41、若某堆疊的輸入序列為1,2,3,4,則4,3,1,2不可能是堆疊的輸出序列之一。( )
42、線性連結串列中各個鏈結點之間的地址不一定要連續。( )
43、程式就是演算法,但演算法不一定是程式。( )
44、線性表只能採用順序儲存結構或者鏈式儲存結構。( )
45、線性表的鏈式儲存結構是通過指標來間接反映資料元素之間邏輯關係的。( )
46、除插入和刪除操作外,陣列的主要操作還有存取、修改、檢索和排序等。( )
47、稀疏矩陣中0元素的分佈有規律,因此可以採用三元組方法進行壓縮儲存。( )
48、不管堆疊採用何種儲存結構,只要堆疊不空,可以任意刪除一個元素。( )
49、確定串T在串S中首次出現的位置的操作稱為串的模式匹配。( )
50、深度為h的非空二叉樹的第i層最多有2i-1 個結點。( )
51、滿二叉樹也是完全二叉樹。( )
52、已知一棵二叉樹的前序序列和後序序列可以唯一地構造出該二叉樹。( )
53、非空二叉排序樹的任意一棵子樹也是二叉排序樹。( )
54、對一棵二叉排序樹進行前序遍歷一定可以得到一個按值有序的序列。( )
55、一個廣義表的深度是指該廣義表展開後所含括號的層數。( )
56、散列表的查詢效率主要取決於所選擇的雜湊函式與處理衝突的方法。( )
57、序列初始為逆序時,氣泡排序法所進行的元素之間的比較次數最多。( )
58、已知指標P指向鍵表L中的某結點,執行語句P=P-〉next不會刪除該連結串列中的結點。
( )
59、在鏈佇列中,即使不設定尾指標也能進行入隊操作。( )
60、如果一個串中的所有字元均在另一串中出現,則說前者是後者的子串。( )
61、設與一棵樹T所對應的二叉樹為BT,則與T中的葉子結點所對應的BT中的結點也一定是葉子結點。( )
62、若圖G的最小生成樹不唯一,則G的邊數一定多於n-1,並且權值最小的邊有多條(其中n為G的頂點數)。( )
63、給出不同的輸入序列建造二叉排序樹,一定得到不同的二叉排序樹。( )
64、由於希爾排序的最後一趟與直接插入排序過程相同,因此前者一定比後者花費的時間多。( )
65、程式越短,程式執行的時間就越少。( )
66、採用迴圈連結串列作為儲存結構的佇列就是迴圈佇列。( )
67、堆疊是一種插入和刪除操作在表的一端進行的線性表。( )
68、一個任意串是其自身的子串。( )
69、哈夫曼樹一定是完全二叉樹。( )
70、帶權連通圖中某一頂點到圖中另一定點的最短路徑不一定唯一。( )
71、折半查詢方法可以用於按值有序的線性連結串列的查詢。( )
72、稀疏矩陣壓縮儲存後,必會失效掉隨機存取功能。( )
73、由一棵二叉樹的前序序列和後序序列可以唯一確定它。( )
74、在n個結點的元向圖中,若邊數在於n-1,則該圖必是連通圖。( )
75、在完全二叉樹中,若某結點元左孩子,則它必是葉結點。( )
76、若一個有向圖的鄰接矩陣中,對角線以下元素均為0,則該圖的拓撲有序序列必定存在。( )
77、樹的帶權路徑長度最小的二叉樹中必定沒有度為1的結點。( )
78、二叉樹可以用0≤度≤2的有序樹來表示。( )
79、一組權值,可以唯一構造出一棵哈夫曼樹。( )
80、101,88,46,70,34,39,45,58,66,10)是堆;( )
81、將一棵樹轉換成二叉樹後,根結點沒有左子樹;( )
82、用樹的前序遍歷和中序遍歷可以匯出樹的後序遍歷;( )
83、在非空線性連結串列中由p所指的結點後面插入一個由q所指的結點的過程是依次執行語句:q->next=p->next;p->next=q。( )
84、非空雙向迴圈連結串列中由q所指的結點後面插入一個由p指的結點的動作依次為:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( )
85、刪除非空鏈式儲存結構的堆疊(設棧頂指標為top)的一個元素的過程是依次執行:p=top,top= p->next,free (p)。( )
86、雜湊的查詢無需進行關鍵字的比較。( )
87、一個好的雜湊函式應使函式值均勻的分佈在儲存空間的有效地址範圍內,以儘可能減少衝突。( )
88、排序是計算機程式設計中的一種重要操作,它的功能是將一個數據元素(或記錄)的任意序列,重新排列成一個按關鍵字有序的序列。( )
89、佇列是一種可以在表頭和表尾都能進行插入和刪除操作的線性表。( )
90、在索引順序表上實現分塊查詢,在等概率查詢情況下,其平均查詢長度不與表的個數有關,而與每一塊中的元素個數有關。( )
91、對於有向圖,頂點的度分為入度和出度,入度是以該頂點為終點的入邊數目;出度是以該頂點為起點的出邊數目,該頂點的度等於其入度和出度之和。( )
92、無向圖的鄰接矩陣是對稱的有向圖的鄰接矩陣是不對稱的。( )
93、具有n個頂點的連通圖的生成樹具有n-1條邊( )
二、填空題:
1、《資料結構》課程討論的主要內容是資料的邏輯結構、儲存結構和______________。
2、資料結構演算法中,通常用時間複雜度和__________________兩種方法衡量其效率。
3、一個演算法一該具有______,______,____,______和____這五種特性。
4、若頻繁地對線性表進行插入與刪除操作,該線性表應採用____________儲存結構。
5、在非空線性表中除第一個元素外,集合中每個資料元素只有一個_______;除最後一個元素之外,集合中每個資料元素均只有一個_________。
6、線性表中的每個結點最多有________前驅和____________後繼。
7、______連結串列從任何一個結點出發,都能訪問到所有結點。
8、鏈式儲存結構中的結點包含____________域,_______________域。
9、在雙向連結串列中,每個結點含有兩個指標域,一個指向______結點,另一個指向________結點。
10、某帶頭結點的單鏈表的頭指標head,判定該單鏈表非空的條件______________。
11、在雙向連結串列中,每個結點含有兩個指標域,一個指向_______結點,另一個指向_____結點。
12、已知指標p指向單鏈表中某個結點,則語句p->next=p->next->next的作用__刪除p 的後繼結點_。
13、已知在結點個數大於1的單鏈表中,指標p指向某個結點,則下列程式段結束時,指標q指向*p的_____________結點。
q=p;
while(q->next!=p)
q=q->next;
14、若要在單鏈表結點*P後插入一結點*S,執行的語句_______________。
15、線性表的鏈式儲存結構地址空間可以_________,而向量儲存必須是地址空間___________。
16、棧結構允許進行刪除操作的一端為_____________。
17、在棧的順序實現中,棧頂指標top,棧為空條件______________。
18、對於單鏈表形式的佇列,其空佇列的F指標和R指標都等於__________________。
19、若陣列s[0..n-1]為兩個棧s1和s2的共用儲存空間,僅當s[0..n-1]全滿時,各棧才不能進行棧操作,則為這兩個棧分配空間的最佳方案是:s1和s2的棧頂指標的初值分別為_________。
20、允許線上性表的一端插入,另一端進行刪除操作的線性表稱為_______。插入的一端為______,刪除的一端為______。
21、設陣列A[m]為迴圈佇列Q的儲存空間,font為頭指標,rear為尾指標,判定Q為空佇列的條件____________________。
22、對於順序儲存的佇列,儲存空間大小為n,頭指標為F,尾指標為R。若在邏輯上看一個環,則佇列中元素的個數為___________。
23、已知迴圈佇列的儲存空間為陣列data[21],且頭指標和尾指標分別為8和3,則該佇列的當前長度__________。
24、一個串的任意個連續的字元組成的子序列稱為該串的________,包含該子串的串稱為
________。
25、求串T在主串S中首次出現的位置的操作是________________。
26、在初始為空的佇列中插入元素A,B,C,D以後,緊接著作了兩次刪除操作,此時的隊尾元素是__________。
27、在長度為n的迴圈佇列中,刪除其節點為x的時間複雜度為_______________。
28、已知廣義表L為空,其深度為___________。
29、已知一順序儲存的線性表,每個結點佔用k個單元,若第一個結點的地址為DA1,則第i個結點的地址為______________。
30、設一行優先順序儲存的陣列A[5][6],A[0][0]的地址為1100,且每個元素佔2個儲存單元,則A[2][3]的地址為_____________。
31、設有二維陣列A[9][19],其每個元素佔兩個位元組,第一個元素的儲存地址為100,若按行優先順序儲存,則元素A[6,6]的儲存地址為______________,按列優順序儲存,元素A[6,6]的儲存地址為______________。
32、在進行直接插入排序時, 其資料比較次數與資料的初始排列________關;而在進行直接選擇排序時,其資料比較次數與資料的初始排列__________關。
33、假設以行為優先儲存的三維陣列A[5][6][7],A[0][0][0]的地址為1100,每個元素佔兩個儲存單元,則A[4][3][2]的地址為_______。
34、設二維陣列A[m][n]按列優先儲存,每個元素佔1個儲存單元,元素A00的儲存地址loc(A00),則Aij的儲存地址loc(Aij)=____________________。
35、稀疏矩陣一般採用__________方法進行壓縮儲存。
36、稀疏矩陣可用_________進行壓縮儲存,儲存時需儲存非零元的________、________、________。
37、若矩陣中所有非零元素都集中在以主對角線為中心的帶狀區域中,區域外的值全為0,則稱為__________。
38、若一個n 階矩陣A中的元素滿足:Aij=Aji (0<=I ,j<=n-1)則稱A為____________矩陣;若主對角線上方(或下方)的所有元素均為零時,稱該矩陣為______________。
39、對於上三角形和下三角形矩陣,分別以按行儲存和按列儲存原則進行壓縮儲存到陣列M[k]中,若矩陣中非0元素為Aij,則k對應為________和__________。
40、設有一上三角形矩陣A[5][5]按行壓縮儲存到陣列B中,B[0]的地址為100,每個元素佔2個單元,則A[3][2]地址為____________。
41、廣義表(A,(a,b),d,e,((i,j),k)),則廣義表的長度為___________,深度為___________。
42、已知廣義表A=((a,b,c),(d,e,f)),則運算head(head (tail(A))))=___ ________。
43、已知廣義表ls =(a,(b,c,d),e),運用head和tail函式取出ls中的原子b的運算是_____。
44、在樹結構裡,有且僅有一個結點沒有前驅,稱為根。非根結點有且僅有一個___________,且存在一條從根到該結點的_______________。
45、度數為0的結點,即沒有子樹的結點叫作__________結點或_________結點。同一個結點的兒子結點之間互稱為___________結點。
46、假定一棵樹的廣義表為A(B(e),C(F(h,i,j),g),D),則該樹的度為___________,樹的深度為_________,終端結點為______,單分支結點為,雙分支結點個數為 _______,三分支結點為_______,C結點的雙親結點是______,孩子結點是______。
48、完全二叉樹、滿二叉樹、線索二叉樹和二叉排序樹這四個名詞術語中,與資料的儲存結構有關係的是_____________。
47、有三個結點的二叉樹,最多有________種形狀。
48、每一趟排序時從排好序的元素中挑出一個值最小的元素與這些未排小序的元素的第一個元素交換位置,這種排序方法成為_____________排序法。
49、高度為k的二叉樹具有的結點數目,最少為_____,最多為_____。
50、對任何一棵二叉樹,若n0,n1,n2分別是度為0,1,2的結點的個數,則n0=_______。
51、在含100個結點的完全二叉樹,葉子結點的個數為_______。
52、將一個數據元素(或記錄)的任意序列,重新排列成一個按關鍵字有序的序列叫_____。
53、若一棵滿二叉樹含有121個結點,則該樹的深度為_________。
54、一個具有767個結點的完全二叉樹,其葉子結點個數為________。
55、深度為90的滿二叉樹,第11層有________個結點。
56、有100個結點的完全二叉樹,深度為________。
57、設一棵二叉樹中度為2的結點10個,則該樹的葉子個數為________。
58、若待雜湊的序列為(18,25,63,50,42,32,9),雜湊函式為H(key)=key MOD 9,與18發生衝突的元素有_____________個。
59、含有3個2度結點和4個葉結點的二叉樹可含__________個1度結點。
60、一棵具有5層滿二叉樹中節點總數為___________。
61、一棵含有16個結點的完全二叉樹,對他按層編號,對於編號為7的結點,他的雙親結點及左右結點編號為______、______、_______。
62、深度為k(設根的層數為1)的完全二叉樹至少有_______個結點, 至多有_______個結點。
63、若要對某二叉排序樹進行遍歷,保證輸出所有結點的值序列按增序排列,應對該二叉排序樹採用________遍歷法。
64、在序列(2,5,8,11,15,16,22,24,27,35,50)中採用折半查詢(二分查詢)方法查詢元素24,需要進行______________次元素之間的比較。
65、設有10個值,構成哈夫曼樹,則該哈夫曼樹共有______個結點。
66、從樹中一個結點到另一個結點之間的分支構成這兩個結點之間的____________。
67、關鍵字自身作為雜湊函式,即H(k)=k,也可自身加上一個常數作為雜湊函式,即H(k)=k+C這種構造雜湊函式的方式叫____________。
68、對於一個圖G,若邊集合E(G)為無向邊的集合,則稱該圖為____________。
69、對於一個圖G,若邊集合E(G)為有向邊的集合,則稱該圖為____________。
70、對於有向圖,頂點的度分為入度和出度,以該頂點為終點的邊數目叫________;以該頂點為起點的邊數目叫_________。
71、一個無向圖採用鄰接矩陣儲存方法,其鄰接矩陣一定是一個______________。
72、有一個n個頂點的有向完全圖的弧數_____________。
73、在無向圖中,若從頂點A到頂點B存在_________,則稱A與B之間是連通的。
74、在一個無向圖中,所有頂點的度數之和等於所有邊數的___________倍。
75、一個連通圖的生成樹是該圖的____________連通子圖。若這個連通圖有n個頂點, 則它的生成樹有__________條邊。
76、無向圖的鄰接矩陣是一個_____________矩陣。
77、如果從一無向圖的任意頂點出發進行一次深度優先搜尋即可訪問所有頂點,則該圖一定是_____ _______。
78、若採用鄰接表的儲存結構,則圖的廣度優先搜尋類似於二叉樹的____________遍歷。
79、若圖的鄰接矩陣是對稱矩陣,則該圖一定是________________。
80、從如圖所示的臨接矩陣可以看出,該圖共有______個頂點。如果是有向圖,該圖共有______條弧;如果是無向圖,則共有________條邊。
81、如果從一個頂點出發又回到該頂點,則此路徑叫做___________。
82、一個具有個n頂點的無向圖中,要連通全部頂點至少需要________條邊。
83、給定序列{100, 86, 48, 73, 35, 39, 42, 57, 66, 21}, 按堆結構的定義, 則它一定_________堆。
84、從未排序序列中選擇一個元素,該元素將當前參加排序的那些元素分成前後兩個部分,前一部分中所有元素都小於等於所選元素,後一部分中所有元素都大於或等於所選元素,而此時所選元素處在排序的最終位置。這種排序法稱為_____________排序法。
85、折半搜尋只適合用於___________________。
86、結點關鍵字轉換為該結點儲存單元地址的函式H稱為_____________或叫__________。
87、在索引查詢中,首先查詢________,然後查詢相應的_________,整個索引查詢的平均查詢長度等於查詢索引表的平均長度與查詢相應子表的平均查詢長度的_______。
三、選擇題:
( )1.資料結構通常是研究資料的 及它們之間的聯絡。
A儲存和邏輯結構 B儲存和抽象
C理想和抽象 D理想與邏輯
( )2.在堆疊中存取資料的原則是 。
A先進先出 B後進先出
C先進後出 D隨意進出
( )3.將一棵有100個結點的完全二叉樹從上到下,從左到右依次對結點進行編號,根結點的編號為1,則編號為49的結點的左孩子的編號為______。
A.98 B.99
C.50 D.48
( )4.對於如圖所示二叉樹採用中根遍歷,正確的遍歷序列應為( )
A.ABCDEF B.ABECDF
C.CDFBEA D.CBDAEF
( )5.設有100個元素,用折半查詢法進行查詢時,最大比較次數是_____ 。
A.25 B.50
C.10 D.7
( )6.快速排序在_____情況下最易發揮其長處。
A.被排序資料中含有多個相同排序碼 B.被排序資料已基本有序
C.被排序資料完全無序 D.被排序資料中最大值和最小值相差懸殊
( )7.由兩個棧共享一個向量空間的好處是______。
A減少存取時間,降低下溢發生的機率 B節省儲存空間,降低上溢發生的機率
C減少存取時間,降低上溢發生的機率 D節省儲存空間,降低下溢發生的機率
( )8.某二叉樹的前序和後序序列正好相反,則該二叉樹一定是_____的二叉樹
A空或者只有一個結點 B高度等於其結點數
C任一結點無左孩子 D任一結點無右孩子
( )9.設散列表長m=14,雜湊函式H(K)=K%11,已知表中已有4個結點:r(15)=4; r(38)=5; r(61)=6;r(84)=7,其他地址為空,如用二次探測再雜湊處理衝突,關鍵字為49的結點地址是________。
A8 B3
C5 D9
( )10.在含有n個項點有e條邊的無向圖的鄰接矩陣中,零元素的個數為________。
A.e B.2e
C.n2-e D.n2-2e
( )11.圖的深度優先遍歷類似於二叉樹的_______。
A.先序遍歷 B.中序遍歷
C.後序遍歷 D.層次遍歷
( )12.設長度為n的鏈佇列用單迴圈連結串列表示,若只設頭指標,則入隊操作的時間複雜度為_______。
A. O(1) B. O(log2n)
C. O(n) D. O(n2)
( )13.堆的形狀是一棵_______。
A.二叉排序樹 B.滿二叉樹
C.完全二叉樹 D.平衡二叉樹
( )14.一個無向連連通圖的生成樹是含有該連通圖的全部項點的_______。
A.極小連通子圖 B.極小子圖
C.極大連通子圖 D.極大子圖
( )15.一個序列中有10000個元素,若只想得到其中前10個最小元素,最好採用_______方法
A.快速排序 B.堆排序
C.插入排序 D.二路歸併排序
( )16.設單鏈表中結點的結構為
typedef struct node { file://連結串列結點定義
ElemType data; file://資料
struct node * Link; file://結點後繼指標
} ListNode;
已知指標p所指結點不是尾結點,若在*p之後插入結點*s,則應執行下列哪一個操作______。
A. s->link = p; p->link = s; B. s->link = p->link; p->link = s;
C. s->link = p->link; p = s; D. p->link = s; s->link = p;
( )17.設單鏈表中結點的結構為
typedef struct node
{ file://連結串列結點定義
ElemType data; file://資料
struct node * Link; file://結點後繼指標
} ListNode;
非空的迴圈單鏈表first的尾結點(由p所指向)滿足:______
A. p->link == NULL; B. p == NULL;
C. p->link == first; D. p == first;
( )18.計算機識別、儲存和加工處理的物件被統稱為_________
A.資料 B.資料元素
C.資料結構 D.資料型別
( )19.在具有n個結點的有序單鏈表中插入一個新結點並使連結串列仍然有序的時間複雜度是________
A.O(1) B.O(n)
C.O(nlogn) D.O(n2)
( )20.隊和棧的主要區別是________
A.邏輯結構不同 B.儲存結構不同
C.所包含的運算個數不同 D.限定插入和刪除的位置不同
( )21.鏈棧與順序棧相比,比較明顯的優點是________
A.插入操作更加方便 B.刪除操作更加方便
C.不會出現下溢的情況 D.不會出現上溢的情況
( )22.在目標串T[0…n-1]=”xwxxyxy”中,對模式串p[0…m-1]=”xy”進行子串定位操作的結果_______
A.0 B.2
C.3 D.5
( )23.已知廣義表的表頭為A,表尾為(B,C),則此廣義表為________
A.(A,(B,C)) B.(A,B,C)
C.(A,B,C) D.(( A,B,C))
( )24.二維陣列A按行順序儲存,其中每個元素佔1個儲存單元。若A[1][1]的儲存地址為420,A[3][3]的儲存地址為446,則A[5][5]的儲存地址為_______
A.470 B.471
C.472 D.473
( )25.二叉樹中第5層上的結點個數最多為________
A.8 B.15
C.16 D.32
( )26.如果某圖的鄰接矩陣是對角線元素均為零的上三角矩陣,則此圖是_______
A.有向完全圖 B.連通圖
C.強連通圖 D.有向無環圖
( )27.對n個關鍵字的序列進行快速排序,平均情況下的空間複雜度為_______
A.O(1) B.O(logn)
C.O(n) D.O(nlogn)
( )28.對於雜湊函式H(key)=key%13,被稱為同義詞的關鍵字是_______
A.35和41 B.23和39
C.15和44 D.25和51
( )29. 由權值分別為3,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為________。
A、 24 B、 48
C、 72 D、 53
( )30.對包含N個元素的散列表進行檢索,平均檢索長度 ________
A、為 o(log2N) B、為o(N)
C、不直接依賴於N D、上述三者都不是
( )31. 向堆中插入一個元素的時間複雜度為________。
A、 O(log2n) B、 O(n)
C、 O(1) D、 O(nlog2n)
( )32.下面關於圖的儲存的敘述中,哪一個是正確的。 ________
A.用相鄰矩陣法儲存圖,佔用的儲存空間數只與圖中結點個數有關,而與邊數無關
B.用相鄰矩陣法儲存圖,佔用的儲存空間數只與圖中邊數有關,而與結點個數無關
C.用鄰接表法儲存圖,佔用的儲存空間數只與圖中結點個數有關,而與邊數無關
D.用鄰接表法儲存圖,佔用的儲存空間數只與圖中邊數有關,而與結點個數無關
( )33.輸入序列為(A,B,C,D),不可能得到的輸出序列是______.
A. (A,B,C,D) B.(D,C,B,A)
C.(A, C,D,B) D.(C,A,B,D)
( )34.在長度為n的順序儲存的線性表中,刪除第i個元素(1≤i≤n)時,需要從前向後依次前移____個元素。
A、n-i B、n-i+1
C、n-i-1 D、i
( )35.設一個廣義表中結點的個數為n,則求廣義表深度演算法的時間複雜度為____。
A、O(1) B、O(n)
C、O(n2) D、O(log 2 n)
( )36.假定一個順序佇列的隊首和隊尾指標分別為f和r,則判斷隊空的條件為 ____。
A、f+1==r B、r+1==f
C、f==0 D、f==r
( )37.從堆中刪除一個元素的時間複雜以為____。
A、O(1) B、O(log 2 n)
C、O(n) D、O(nlog 2 n)
( )38.若需要利用形參直接訪問實參,則應把形參變數說明為____引數。
A.指標 B.引用
C.值 D.變數
( )39.在一個單鏈表HL中,若要在指標q所指結點的後面插入一個由指標p所指向的結點,則執行____。
A. q一>next=p一>next;p一>next=q;C. q一>next=p一>next;p一>next=q;
B. p一>next=q一>next;q=p; D. p一>next=q一>next;q一>next=p;
( )40.在一個順序佇列中,隊首指標指向隊首元素的____位置。
A.前一個 B.後一個
C.當前 D.最後一個
( )41.向二叉搜尋樹中插入一個元素時,其時間複雜度大致力____。
A O(1) B O(1og2n)
C O(n) D O(nlog2n)
( )42.演算法指的是________
A.計算機程式 B.解決問題的計算方法
C.排序演算法 D.解決問題的有限運算序列
( )43.線性表採用鏈式儲存時,結點的儲存地址________
A.必須是不連續的 B.連續與否均可
C.必須是連續的 D.和頭結點的儲存地址相連續
( )44.將長充為n的單鏈錶鏈接在長度為m的單鏈表之後的演算法的時間複雜度為________
A.O(1) B.O(n)
C.O(m) D.O(m+n)
( )45.由兩個棧共享一個向量空間的好處是:________
A.減少存取時間,降低下溢發生的機率 B.節省儲存空間,降低上溢發生的機率
C.減少存取時間,降低上溢發生的機率 D.節省儲存空間,降低下溢發生的機率
( )46.設陣列DAtA[m]作為迴圈佇列SQ的儲存空間,front為隊頭指標,reAr為隊尾指標,則執行出隊操作後其頭指標front值為________
A. front=front+1 B. front=(front+1)%(m-1)
C. front=(front-1)%m D. front=(front+1)%m
( )47.如下陳述中正確的是________
A. 串是一種特殊的線性表 B. 串的長度必須大於零
C. 串中元素只能是字母 D. 空串就是空白串
( )48.若目標串的長充為n,模式串的長度為[n/3],則執行模式匹配演算法時,在最壞情況下的時間複雜度是________
A.O(1) B.O(n)
C.O(n2) D.O(n3)
( )49.一個非空廣義表的表頭________
A.不可能是子表 B.只能是子表
C.只能是原子 D.可以是子表或原子
( )50. 從堆中刪除一個元素的時間複雜度為________。
A、 O(1) B、 O(n)
C、 O(log2n) D、 O(nlog2n)
( )51.一棵度為3的樹中,度為3的結點個數為2,度為2的結點個數為1,則度為0的結點個數為________
A.4 B.5
C.6 D.7
( )52. 從二叉搜尋樹中查詢一個元素時,其時間複雜度大致為________。
A、 O(n) B、 O(1)
C、 O(log2n) D、 O(n2)
( )53. 根據n個元素建立一棵二叉搜尋樹時,其時間複雜度大致為________。
A、 O(n) B、 O(log2n )
C、 O(n2) D、 O(nlog2n)
( )54.用某種排序方法對關鍵字序列(25,84,21,47,15,27,68,35,20)進行排序時,序列的變化情況是如下________:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
則所採用的排序方法是________
A.選擇排序 B.希爾排序
C.歸併排序 D.快速排序
( )55.適於對動態查詢表進行高效率查詢的組織結構是________
A.有序表 B.分塊有序表
C.二叉排序樹 D.線性連結串列
( )56. 若需要利用形參直接訪問實參,則應把形參變數說明為________引數。
A 指標 B 引用
C 值 D 常量
( )57.鏈式棧與順序棧相比,一個比較明顯的優點是________。
A. 插入操作更加方便 B. 通常不會出現棧滿的情況
C. 不會出現棧空的情況 D. 刪除操作更加方便
( )58.設單鏈表中結點的結構為(data, link)。已知指標q所指結點是指標p所指結點的直接前驅,若在*q與*p之間插入結點*s,則應執行下列哪一個操作________
A. s->link = p->link; p->link = s; B. p->link = s; s->link = q;
C. p->link = s->link; s->link = p; D. q->link = s; s->link = p;
( )59.若讓元素1,2,3依次進棧,則出棧次序不可能出現________種情況。
A. 3, 2, 1 B. 2, 1, 3
C. 3, 1, 2 D. 1, 3, 2
( )60.線性連結串列不具有的特點是________。
A. 隨機訪問 B. 不必事先估計所需儲存空間大小
C. 插入與刪除時不必移動元素 D. 所需空間與線性表長度成正比
( )61.在稀疏矩陣的十字連結儲存中,每個列單鏈表中的結點都具有相同的_____。
A.行號 B.列號
C.元素值 D.地址
( )62.假定一個順序佇列的隊首和隊尾指標分別為front和rear,存放該佇列的陣列長度為N,則判斷隊空的條件為________。
A.(front+1)% N == rear C. front == 0
B.(rear+1)% N == front D. front == rear
( )63.棧的插入和刪除操作在___進行.
(A).棧頂 (B).棧底
(C).任意位置 (D).指定位置
( )64. 在一個順序迴圈佇列中,隊首指標指向隊首元素的________位置。
A. 後兩個 B. 後一個
C. 當前 D.前一個
( )65.下面演算法的時間複雜度為__。
int f(int n){
if (n==0)return 1;
else return n*f(n-1);}
A.O(1) B.O(n)
C.O(n²) D.O(n!)
( )66.資料結構是一門研究非數值計算的程式設計問題中計算機的( ① )以及它們之間的( ② )和運算的學科
①A、操作物件 B、計算方法 C、邏輯儲存 D、資料映象
②A、結構 B、關係 C、運算 D、演算法
( )67.資料結構被形式地定義為(K,R),其中K是( ① )的有限集合,R是K上( ② )的有限集合
①A、演算法 B、資料元素 C、資料操作 D、邏輯結韻
②A、操作 B、映象 C、儲存 D、關係
( )68.在資料結構中,從邏輯上可以把資料結構分為________
A、動態結構和靜態結構 B、緊湊結構和非緊湊結構
C、線性結構和非線性結構 D、內部結構和外部結構
( )69.線性表的順序儲存結構是一種_________的儲存結構,線性表的鏈式儲存結構是一種________的儲存結構
A、隨機存取 B、順序存取
C、索引存取 D、HASH存取
( )70.演算法分析的目的是( ① ),演算法分析的兩個主要方面是( ② )
①A、找出資料結構的合理性 C、分析演算法的效率以求改進
B、研究演算法中的輸入和輸出的關係D、分析演算法的易懂性和文件性
②A、空間複雜性和時間複雜性 C、可讀性和文件性
B、正確性和簡明性 D、資料複雜性和程式複雜性
( )71.計算機演算法指的是( ① ),它必具備輸入、輸出和( ② )等五個特性
①A、計算方法 B、排序方法
C、解決萊一問題的有限運算序列 D、排程方法
②A、可執行性、可移植性和可擴充性 C、確定性、有窮性和穩定性
B、可執行性、確定性和有窮性 D、易謾性、穩定性和安全性
( )72.線性表若採用連結串列儲存結構時,要求記憶體中可用儲存單元的地址________
A、必須是連續的 B、部分地址必須是連續的
C、一定是不連續的 D、連續不連續都可以
( )73.在以下的敘述中,正確的是__________
A、線性表的線性儲存結構優於連結串列儲存結構 C、棧的操作方式是先進先出
B、二維陣列是它的每個資料元素為一個線性表的線性表D、佇列的操作方式是先進後出
( )74. 一個數組元素A[i]與________的表示等價。
A、 *(A+i) B、 A+i
C、 *A+i D、 &A+i
( )75. 對於兩個函式,若函式名相同,但只是____________不同則不是過載函式。
A、 引數型別 B、 引數個數
C、 函式型別 D、函式變數
( )76. 若需要利用形參直接訪問實參,則應把形參變數說明為________引數
A、 指標 B、 引用
C、 值 D、函式
( )77.下面程式段的時間複雜度為____________。
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
A[i][j]=i*j;
A、 O(m2) B、 O(n2)
C、 O(m*n) D、 O(m+n)
( )78. 執行下面程式段時,執行S語句的次數為____________。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;
A、 n2 B、 n2/2
C、 n(n+1) D、 n(n+1)/2
( )79. 下面演算法的時間複雜度為____________。
int f( unsigned int n ) {
if ( n==0 || n==1 ) return 1; else return n*f(n-1);
}
A、 O(1) B、 O(n)
C、 O(n2) D、 O(n!)
( )80.在一個長度為n的順序儲存線性表中,向第i個元素(1≤i≤n+1)之前插入一個新元素時,需要從後向前依次後移 個元素。
A、n-i B、n-i+1
C、n-i-1 D、i
( )81.在一個長度為n的順序儲存線性表中,刪除第i個元素(1≤i≤n+1)時,需要從前向後依次前移_____個元素。
A、n-i B、n-i+1
C、n-i-1 D、i
( )82.在一個長度為n的線性表中順序查詢值為x的元素時,查詢時的平均查詢長度(即x同元素的平均比較次數,假定查詢每個元素的概率都相等)為_____。
A、n B、n/2
C、(n+1)/2 D、(n-1)/2
( )83.在一個單鏈表HL中,若要向表頭插入一個由指標p指向的結點,則執行_____ 。
A、HL = p; p->next