考點1:數據結構與算法_第1頁
考點1:數據結構與算法_第2頁
考點1:數據結構與算法_第3頁
考點1:數據結構與算法_第4頁
考點1:數據結構與算法_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.下列敘述中正確的是( )。答案:BA)所謂算法就是計算方法B)程序可以作為算法的一種描述方法C)算法設計只需考慮得到計算結果D)算法設計可以忽略算法的運算時間題目解析:算法是一組有窮指令集,是解題方案的準確而完整的描述。通俗地說,算法就是計算機解題的過程,重在解題方案的設計,并且不等于計算方法,故A和C選項不正確,程序的編制不可能優于算法的設計,但算法的描述可以用程序、偽代碼、流程圖來描述,故B選項正確。算法要求執行過程中所需要的基本運算次數和時間最少,即時間復雜度最低,所以C選項不正確。正確答案為B。2.下列各序列中不是堆的是( )。答案:CA)(91,85,53,36,47,30,24

2、,12)B)(91,85,53,47,36,30,24,12)C)(47,91,53,85,30,12,24,36)D)(91,85,53,47,30,12,24,36)題目解析:堆可以看成一棵完全二叉樹:任一根節點>=左右孩子(或者<=)(大的叫大根堆,小的叫小根堆。)注意一個堆中的這種性質有一致性,不能既有大于又有小于情況存在,這題可以這么做,把結點按照完全二叉樹畫出來就一目了然了。這個題目很明顯91是最大的根,而C選項是"左根右"的排序,那么91的左邊只有47,其他都在右邊,而右邊無法按照此順序排列,故選C。3.深度為5的完全二叉樹的結點數不可能是( )。

3、答案:AA)15B)16C)17D)18題目解析:對于滿二叉樹,葉子結點的數目等于2(n-1),n為深度,這里就是2的5-1=4次方,就是16。4. 設二叉樹如下:則前序序列為( )。答案:AA)ABDEGCFHB)DBGEAFHCC)DGEBHFCAD)ABCDEFGH題目解析:前序遍歷首先訪問根結點然后遍歷左子樹,最后遍歷右子樹;在遍歷左、右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。故正確選項選A;B選項為中序遍歷。C選項為后序遍歷;D選項不正確。5.下列敘述中正確的是( )。答案:AA)循環隊列是順序存儲結構B)循環隊列是鏈式存儲結構C)循環隊列是非線性結構D)循環隊列的

4、插入運算不會發生溢出現象題目解析:循環隊列屬于隊列的特例和棧同屬于線性結構,C選項不正確。在順序隊列中,由于數組空間不夠而產生的溢出叫真溢出;順序隊列因多次入隊列和出隊列操作后出現的有存儲空間但不能進行入隊列操作的溢出稱為假溢出;假溢出是由于隊尾rear的值和隊頭front的值不能由所定義數組下界值自動轉為數組上界值而產生的,解決的辦法是把順序隊列所使用的存儲空間構造成一個邏輯上首尾相連的循環隊列,因此,順序隊列通常都采用順序循環隊列結構;棧的存儲方式有順序存儲和鏈式存儲,故正確選項為A;B選項不正確。循環隊列雖然能解決由于假溢出,卻不能解決在順序隊列中,由于數組空間不夠而產生的溢出的真溢出,

5、故選項C不正確。6.下列敘述中正確的是( )。答案:DA)所有數據結構必須有根結點B)所有數據結構必須有終端結點(即葉子結點)C)只有一個根結點,且只有一個葉子結點的數據結構一定是線性結構D)沒有根結點或沒有葉子結點的數據結構一定是非線性結構題目解析:只有一個空節點的結構也屬數據結構,所以A和B選項不正確;有且只有一個根結點,每一個結點最多有一個前件,也最多有一個后件的數據結構才屬于線性結構,其它的都屬于非線性結構,故C選項不正確,正確選項為D。7.下列關于算法的描述中錯誤的是( )。答案:DA)算法強調動態的執行過程,不同于靜態的計算公式B)算法必須能在有限個步驟之后終止C)算法設計必須考慮

6、算法的復雜度D)算法的優劣取決于運行算法程序的環境題目解析:算法的優劣取決自身的運行效率,時間和空間復雜度高低,并不取決于運行算法程序的環境,故D選項錯誤。8. 設二叉樹如下:則中序序列為( )。答案:BA)ABDEGCFHB)DBGEAFHCC)DGEBHFCAD)ABCDEFGH題目解析:中序遍歷(LDR)是指首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;故正確答案為B。9.線性表的鏈式存儲結構與順序存儲結構相比,鏈式存儲結構的優點有( )。答案:BA)節省存儲空間B)插入與刪除運算效率高C)便于查找D)排序時減少元素的比較次數題目解析:順序存儲時,相鄰數據元素的存放地址也相鄰(邏輯與物

7、理統一);要求內存中可用存儲單元的地址必須是連續的。優點:存儲密度大(1),存儲空間利用率高。缺點:插入或刪除元素時不方便。鏈式存儲時,相鄰數據元素可隨意存放,但所占存儲空間分兩部分,一部分存放結點值,另一部分存放表示結點間關系的指針 優點:插入或刪除元素時很方便效率高,使用靈活。缺點:存儲密度小(<1),存儲空間利用率低。故正確選項為B。10.深度為的完全二叉樹中共有125個結點,則該完全二叉樹中的葉子結點數為( )。答案:BA)62B)63C)64D)65題目解析: 對于滿二叉樹,結點的數目等于2n-1,葉子結點數目為2n-1,n為深度,這里就是2的7次方-1,就是127個結點,葉子

8、結點是64個,然而題目中只有125個結點,說明少了兩個結點,那么就少了一個葉子結點,即63個。11.下列敘述中正確的是( )。答案:CA)所謂有序表是指在順序存儲空間內連續存放的元素序列B)有序表只能順序存儲在連續的存儲空間內C)有序表可以用鏈接存儲方式存儲在不連續的存儲空間內D)任何存儲方式的有序表均能采用二分法進行查找題目解析:有序表可以用順序存儲空間內連續存放的元素序列來實現,也可以用鏈接存儲方式存儲在不連續的存儲空間內,已達到邏輯上連續,存儲空間上不一定連續的效果。二分法進行查找只適用于順序存儲的有序表。故選項C正確。12. 設二叉樹如下:則后序序列為( )。答案:CA)ABDEGCF

9、HB)DBGEAFHCC)DGEBHFCAD)ABCDEFGH題目解析:后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結點。故正確選項為C。13.下列敘述中正確的是( )。答案:BA)結點中具有兩個指針域的鏈表一定是二叉鏈表B)結點中具有兩個指針域的鏈表可以是線性結構,也可以是非線性結構C)二叉樹只能采用鏈式存儲結構D)循環鏈表是非線性結構題目解析:結點中盡管有兩個指針域但沒有分別指向兩個不同的結點就不是二叉鏈表,故A選項不正確;二叉樹是非線性結構,即每個數據結點至多只有一個前驅,但可以有多個后繼。它可采用順序存儲結構和鏈式存儲結構,故C選項不正確;循環鏈表是在單鏈表中,將終

10、端結點的指針域NULL改為指向表頭結點或開始結點的線性結構,故D選項不正確;當結點中兩個指針分別指向前驅結點和后繼結點是為線性結構,當指向兩個不同的前驅或后繼結點時為非線性結構,故B選項正確。14.設某二叉樹中共有140個結點,其中有40個度為1的結點。則( )。答案:DA)該二叉樹中有51個葉子結點B)該二叉樹中有50個葉子結點C)該二叉樹中有51個度為2的結點D)不可能有這樣的二叉樹題目解析:140個結點除去40個度為1的結點,說明有100個度為2的結點,而根據二叉樹性質,這個數值無法得出故本題答案選D。15.帶鏈的棧與順序存儲的棧相比,其優點是( )。答案:CA)入棧與退棧操作方便B)可

11、以省略棧底指針C)入棧操作時不會受棧存儲空間的限制而發生溢出D)以上都不對題目解析:帶鏈的棧與順序存儲的棧相比優點是不受連續存儲空間大小的限制,即不需考慮棧滿的問題,故C選項正確。16.某二叉樹的前序序列為ABCD,中序序列為DCBA,則后序序列為( )。答案:BA)BADCB)DCBAC)CDABD)ABCD題目解析:在二叉樹前序遍歷中ABCD中A是根節點,二在后序遍歷中根結點位于最后,所以正確答案為B。17. 某系統結構圖如下所示該系統結構圖的最大扇入數是( )。答案:AA)nB)1C)2D)3題目解析:系統結構圖中的最大扇入數為系統圖中進入某一節點的最大節點數,本系統圖中功能n.1節點輸

12、出節點為功能1到功能n,所以系統結構圖的最大扇入數為n,故正確選項為A。18.下列關于算法復雜度敘述正確的是( )。答案:BA)最壞情況下的時間復雜度一定高于平均情況的時間復雜度B)時間復雜度與所用的計算工具無關C)對同一個問題,采用不同的算法,則它們的時間復雜度是相同的D)時間復雜度與采用的算法描述語言有關題目解析:準確把握算法復雜度的概念。19.設有棧S和隊列Q,初始狀態均為空。首先依次將A,B,C,D,E,F入棧,然后從棧中退出三個元素依次入隊,再將X,Y,Z入棧后,將棧中所有元素退出并依次入隊,最后將隊列中所有元素退出,則退隊元素的順序為( )。答案:BA)DEFXYZABCB)FED

13、ZYXCBAC)FEDXYZCBAD)DEFZYXABC題目解析:棧是一種特殊的線性表棧中的數據時按照先進后出或者是后進先出的規則進行的,隊列是同棧不太相同的線性結構,進出順序為先進先出的規則,根據題意要求本題正確答案為B選項。20.下列敘述中正確的是( )。答案:DA)有兩個指針域的鏈表稱為二叉鏈表B)循環鏈表是循環隊列的鏈式存儲結構C)帶鏈的棧有棧頂指針和棧底指針,因此又稱為雙重鏈表D)結點中具有多個指針域的鏈表稱為多重鏈表題目解析:結點中盡管有兩個指針域但沒有分別指向兩個不同的結點就不是二叉鏈表,故A選項不正確;循環鏈表是在單鏈表中,將終端結點的指針域NULL改為指向表頭結點或開始結點的

14、線性結構,故B選項不正確;當結點中兩個指針分別指向前驅結點和后繼結點是為線性結構,當指向兩個不同的前驅或后繼結點時為非線性結構,故B選項正確。雙重鏈表的結點有兩個指針,一個指向前驅,一個指向后繼,從一個結點既可以向前也可以向后才是雙重鏈表,故C選項不正確。D選項正確。21.某二叉樹共有845個結點,其中葉子結點有45個,則度為1的結點數為( )。答案:CA)400B)754C)756D)不確定題目解析:二叉樹中,度為0的結點(即葉子節點)比度為2的結點多1個,而度為0、1、2的結點相加等于總結點數845,所以度為1的結點數為845-45-(45-1)=756。22.深度為7的二叉樹共有127個

15、結點,則下列說法中錯誤的是( )。答案:AA)該二叉樹有一個度為1的結點B)該二叉樹是滿二叉樹C)該二叉樹是完全二叉樹D)該二叉樹有64個葉子結點題目解析:大家一定要記清楚這幾個二叉樹的性質。23.下列敘述中正確的是( )。答案:DA)非線性結構只能采用鏈式存儲結構B)非線性結構只能用多重鏈表表示C)所有數據結構既可以采用順序存儲結構,也可以采用鏈式存儲結構D)有的非線性結構也能采用順序存儲結構題目解析:鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構,非線性結構也可以用連續存儲空間順序存儲。所以AB選項不正確在所有的數據結構中并非所有的結構都能用順序存儲結構和采用鏈式存儲結構表示,故

16、選項C不正確,D選項正確。24.某二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為( )。答案:CA)DCBAB)BDCAC)ABCDD)BADC題目解析:在二叉樹后序遍歷中DCBA中A是根節點,二在前序遍歷中根結點位于首位,所以正確答案為B。25. 某系統結構圖如下圖所示該系統結構圖的最大扇出數是( )。答案:DA)1B)2C)3D)n題目解析: 系統結構圖中的最大扇出數為系統圖中某一節點輸出的最大節點數,本系統圖中某系統輸出節點為功能1到功能n,所以系統結構圖的最大扇入數為n,故正確選項為D。26.設有序線性表的長度為n,則在有序線性表中進行二分查找,最壞情況下的比較

17、次數為( )。答案:DA)n(n-1)/2B)nC)nlog2 nD)log2 n題目解析:二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次,而順序查找需要比較n次。故正確選項為D。27.某完全二叉樹共有256個結點,則該完全二叉樹的深度為( )。答案:CA)7B)8C)9D)10題目解析: 根據"二叉樹的第i層至多有2(i ? 1)個結點;深度為k的二叉樹至多有2k ? 1個結點(根結點的深度為1)".這個性質:因為前九層的結點就有29-1=511個;而第九層的結點數是2(9-1)

18、=256。28.設序列長度為n,在最壞情況下比較次數低于O(n2)的排序方法是( )。答案:DA)快速排序B)直接插入排序C)冒泡排序D)希爾排序題目解析:大家一定要熟悉這幾種排序方法的性質。29.某二叉樹的前序序列為ABCD,中序序列為BDCA,則該二叉樹的深度為( )。答案:AA)4B)3C)2D)不確定題目解析:首先還原二叉樹,然后再次進行排序。30.下列排序方法中,最壞情況下時間復雜度最低的是( )。答案:DA)冒泡排序B)快速排序C)希爾排序D)堆排序題目解析:堆排序法,最壞情況需要O(nlog2n)次比較。  相比以上幾種(除希爾排序法外),堆排序法的時間復雜度

19、最小,故D選項正確。31.設循環隊列為Q(1:m),初始狀態為front=rear=m。現經一系列入隊與退隊操作后,front=rear=m-1,則( )。答案:DA)該循環隊列已空B)該循環隊列已滿C)該循環隊列中有1個元素D)該循環隊列已空或已滿題目解析:循環隊列m=0表示隊列空;s=1且front=rear表示隊列滿。所以選項D正確。32.設序列長度為n,在最壞情況下,時間復雜度為O(log2n)的算法是( )。答案:AA)二分法查找B)順序查找C)分塊查找D)哈希查找題目解析:二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次,而順序查找需要比較

20、n次。故正確選項為A。33.某二叉樹的深度為7,其中有64個葉子結點,則該二叉樹中度為1的結點數為( )。答案:AA)0B)1C)2D)63題目解析:2的7-1次方已經是64了,所以度為1的結點一定是0。34.堆排序最壞情況下的時間復雜度為( )。答案:BA)O(n1.5)B)O(nlog2n)C)D)O(log2n)題目解析:堆排序法,最壞情況需要O(nlog2n)次比較,堆排序法的時間復雜度最小,故B選項正確。35.在線性表的鏈式存儲結構中,其存儲空間一般是不連續的,并且( )。答案:CA)前件結點的存儲序號小于后件結點的存儲序號B)前件結點的存儲序號大于后件結點的存儲序號C)前件結點的存

21、儲序號可以小于也可以大于后件結點的存儲序號D)以上都不對題目解析:鏈式存儲結構使得節點在內存中不收位置的限制,結點存儲號可以是任意的,并且能夠保證邏輯上的線性關系。故C選項正確。36.某二叉樹中有15個度為1的結點,16個度為2的結點,則該二叉樹中總的結點數為( )。答案:CA)32B)46C)48D)49題目解析:二叉樹有一個性質是:對任何二叉樹,如果其終端結點數位n0,度為2的結點數為n2則n0=n2+1,所以度為0的一共有17個,總的結點數即時17+15+16=48個。37. 某系統結構圖如下圖所示該系統結構圖中最大扇入是( )。答案:CA)0B)1C)2D)3題目解析: 系統

22、結構圖中的最大扇入數為系統圖中輸入某一節點的最大節點數,本系統圖中某系統輸入節點為功能1到功能3n,所以系統結構圖的最大扇入數為3,故正確選項為C。38.下列敘述中正確的是( )。答案:DA)每一個結點有兩個指針域的鏈表一定是非線性結構B)所有結點的指針域都為非空的鏈表一定是非線性結構C)循環鏈表是循環隊列的鏈式存儲結構D)線性結構的存儲結點也可以有多個指針題目解析:當結點中兩個指針分別指向前驅結點和后繼結點是為線性結構,當指向兩個不同的前驅或后繼結點時為非線性結構,指針域為非空的鏈表也可以是線性結構,鏈式存儲方式即可用于表示線性結構,也可用于表示非線性結構。故A、B、C選項不完全正確。線性結

23、構的存儲結點可以由多個指針只有保證有且只有指向一個前驅結點和一個后繼結點就是線性結構。故D選項正確;。39.在線性表的順序存儲結構中,其存儲空間連續,各個元素所占的字節數( )。答案:AA)相同,元素的存儲順序與邏輯順序一致B)相同,但其元素的存儲順序可以與邏輯順序不一致C)不同,但元素的存儲順序與邏輯順序一致D)不同,且其元素的存儲順序可以與邏輯順序不一致題目解析:線性表的順序存儲結構的兩個特點(1)線性表中所有元素所占的存儲空間是連續的;(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。另在線性表中數據元素所占的字節數都是一致的,所以正確選項為A。40.設循環隊列為Q(1: m)

24、,其初始狀態為front=rear=m。經過一系列入隊與退隊運算后,front=30,rear=10。現要在該循環隊列中作順序查找,最壞情況下需要比較的次數為( )。答案:DA)19B)20C)m-19D)m-20題目解析:二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次,而順序查找需要比較n次。已知循環隊列為Q(1: m),其初始狀態為front=rear=m,而節點個數為m-(front-rear),且順序查找的比較次數與實際節點個數一致,故正確選項為D。41.某二叉樹中共有935個結點,其中葉子結點有435個,則該二叉樹中度為2的結點個

25、數為( )。答案:DA)64B)66C)436D)434題目解析:大家記住一個公式,n0=n2+1,所以n2有434個。42. 某系統結構圖如下圖所示該系統結構圖中最大扇出數是( )。答案:CA)1B)23C)3D)4題目解析:系統結構圖中的最大扇出數為系統圖中某一節點輸出的最大節點數,本系統圖中某系統輸出節點為功能1到功能3,所以系統結構圖的最大扇入數為3,故正確選項為C。43.算法的有窮性是指( )。答案:AA)算法程序的運行時間是有限的B)算法程序所處理的數據量是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用題目解析:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后

26、即可完成。有窮性是指算法程序的運行時間是有限的。44.對長度為n的線性表排序,在最壞情況下,比較次數不是n(n1)/2的排序方法是( )。答案:DA)快速排序B)冒泡排序C)直接插入排序D)堆排序題目解析:在最壞的情況下,堆排序需要比較的次數為O(nlog2n),所以選擇D.45.下列關于棧的敘述正確的是( )。答案:BA)棧按"先進先出"組織數據B)棧按"先進后出"組織數據C)只能在棧底插入數據D)不能刪除數據題目解析:棧是按照"先進后出"的原則組織數據的,只能在棧頂插入或刪除數據,所以選擇B。46.一個棧的初始狀態為空。現將元素1

27、、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是( )。答案:BA)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA題目解析:棧是先進后出的原則組織數據,所以入棧最早的最后出棧,所以選擇B。47.下列敘述中正確的是( )。答案:DA)循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構B)在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況C)在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況D)循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定題目解析:循環隊列有隊頭和隊尾兩個指針,但是循環隊列

28、仍是線性結構的,所以A)錯誤;在循環隊列中只需要隊頭指針與隊尾兩個指針來共同反映隊列中元素的動態變化情況,所以B)與C)錯誤。48.在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數是( )。答案:CA)O(n)B)C)D)題目解析:當有序線性表為順序存儲時才能用二分法查找。可以證明的是對于長度為n的有序線性表,在最壞情況下,二分法查找只需要比較O(nlog2n)次,而順序查找需要比較n次。49.下列敘述中正確的是( )。答案:AA)順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的B)順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C)順序存儲結構能存儲

29、有序表,鏈式存儲結構不能存儲有序表D)鏈式存儲結構比順序存儲結構節省存儲空間題目解析:鏈式存儲結構既可以針對線性結構也可以針對非線性結構,所以B)與C)錯誤。鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,增加了存儲空間,所以D)錯誤。50.在數據管理技術發展的三個階段中,數據共享最好的是( )。答案:CA)人工管理階段B)文件系統階段C)數據庫系統階段D)三個階段相同題目解析:據管理發展至今已經歷了三個階段:人工管理階段、文件系統階段和數據庫系統階段。其中最后一個階段結構簡單,使用方便邏輯性強物理性少,在各方面的表現都最好,一直占據數據庫領域的主導地位,所以選擇C)。51.下列敘述中正確

30、的是( )。答案:DA)棧是"先進先出"的線性表B)隊列是"先進后出"的線性表C)循環隊列是非線性結構D)有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構題目解析:棧是先進后出的線性表,所以A)錯誤;隊列是先進先出的線性表,所以B)錯誤;循環隊列是線性結構的線性表,所以C)錯誤。52.支持子程序調用的數據結構是( )。答案:AA)棧B)樹C)隊列D)二叉樹題目解析:棧支持子程序調用。棧是一種只能在一端進行插入或刪除的線性表,在主程序調用子函數時要首先保存主程序當前的狀態,然后轉去執行子程序,最終把子程序的執行結果返回到主程序中調用子程序的位置,繼

31、續向下執行,這種調用符合棧的特點,因此本題的答案為A)。53.某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數是( )。答案:CA)10B)8C)6D)4題目解析:根據二叉樹的基本性質3:在任意一棵二叉樹中,度為0的葉子節點總是比度為2的節點多一個,所以本題中是516個。54.下列排序方法中,最壞情況下比較次數最少的是( )。答案:DA)冒泡排序B)簡單選擇排序C)直接插入排序D)堆排序題目解析:冒泡排序與簡單插入排序與簡單選擇排序法在最壞情況下均需要比較n(n1)/2次,而堆排序在最壞情況下需要比較的次數是nlog2n。55.下列敘述中正確的是( )。答案:CA)在棧中,棧中元素隨棧底指

32、針與棧頂指針的變化而動態變化B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態變化D)在棧中,棧中元素不會隨棧底指針與棧頂指針的變化而動態變化題目解析:棧是先進后出的數據結構,在整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇C)。56.某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)( )。答案:DA)3B)4C)6D)7題目解析:根據二叉樹的基本性質3:在任意一棵二叉樹中,度為0的葉子節點總比度為2的節點多一個,所以本題中度為2的節點為110個,所以可以知道本題目

33、中的二叉樹的每一個節點都有一個分支,所以共7個節點共7層,即深度為7。57.下列敘述中正確的是( )。答案:DA)算法就是程序B)設計算法時只需要考慮數據結構的設計C)設計算法時只需要考慮結果的可靠性D)以上三種說法都不對題目解析:算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A)錯誤。設計算法時不僅要考慮對數據對象的運算和操作,還要考慮算法的控制結構,所以B)和C)錯誤。58.下列數據結構中,屬于非線性結構的是( )。答案:CA)循環隊列B)帶鏈隊列C)二叉樹D)帶鏈棧題目解析:樹是簡單的非線性結構,所以二叉樹作為樹的一種也是一種非線性結構。59.下列數據結構中,

34、能夠按照"先進后出"原則存取數據的是( )。答案:BA)循環隊列B)棧C)隊列D)二叉樹題目解析:棧是按先進后出的原則組織數據的。隊列是先進先出的原則組織數據。因此,本題答案為B)。60.對于循環隊列,下列敘述中正確的是( )。答案:DA)隊頭指針是固定不變的B)隊頭指針一定大于隊尾指針C)隊頭指針一定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針題目解析:循環隊列的隊頭指針與隊尾指針都不是固定的,隨著入隊與出隊操作要進行變化。因為是循環利用的隊列結構所以對頭指針有時可能大于隊尾指針有時也可能小于隊尾指針。61.算法的空間復雜度是指( )。答案:AA)算法在執

35、行過程中所需要的計算機存儲空間B)算法所處理的數據量C)算法程序中的語句或指令條數D)算法在執行過程中所需要的臨時工作單元數題目解析:算法的空間復雜度是指算法在執行過程中所需要的內存空間。所以選擇A)。62.下列敘述中正確的是( )。答案:BA)線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B)線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C)線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D)線性表的鏈式存儲結構所需要的存儲空間與順序存儲結構沒有任何關系題目解析:線性鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結

36、構。63.下列敘述中正確的是( )。答案:DA)棧是一種先進先出的線性表B)隊列是一種后進先出的線性表C)棧與隊列都是非線性結構D)棧與隊列都是線性結構題目解析:棧是一種先進后出的線性表,隊列是一種先進先出的線性表,棧與隊列都是線性結構。64.下列敘述中正確的是( )。答案:BA)有一個以上根結點的數據結構不一定是非線性結構B)只有一個根結點的數據結構不一定是線性結構C)循環鏈表是非線性結構D)雙向鏈表是非線性結構題目解析:線性結構應滿足:有且只有一個根結點與每個結點最多有一個前件,也最多有一個后件,所以B)正確。所以有一個以上根結點的數據結構一定是非線性結構,所以A)錯誤。循環鏈表和雙向鏈表

37、都是線性結構的數據結構,所以C)和D)錯誤。65.下列關于二叉樹的敘述中,正確的是( )。答案:BA)葉子結點總是比度為2的結點少一個B)葉子結點總是比度為2的結點多一個C)葉子結點數是度為2的結點數的兩倍D)度為2的結點數是度為1的結點數的兩倍題目解析:根據二叉樹的基本性質:在任意一棵二叉樹中,度為0的葉子結點總是比度為2的結點多一個。所以選擇B)。66.某系統總體結構圖如下圖所示:該系統總體結構圖的深度是:( )。答案:CA)7B)6C)3D)2題目解析:根據總體結構圖可以看出該樹的深度為3,比如:XY系統功能2功能2.1,就是最深的度數的一個表現。67.下列敘述中正確的是( )。答案:B

38、A)循環隊列是隊列的一種鏈式存儲結構B)循環隊列是隊列的一種順序存儲結構C)循環隊列是非線性結構D)循環隊列是一種邏輯結構題目解析:在實際應用中,隊列的順序存儲結構一般采用循環隊列的形式。68.下列關于線性鏈表的敘述中,正確的是( )。答案:CA)各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必須一致B)各數據結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續C)進行插入與刪除時,不需要移動表中的元素D)各數據結點的存儲順序與邏輯順序可以不一致,它們的存儲空間也可以不一致題目解析:一般來說,在線性表的鏈式存儲結構中,各數據結點的存儲序號是不連續的,并且各結點在存儲空間中的

39、位置關系與邏輯關系也不一致。線性鏈表中數據的插入和刪除都不需要移動表中的元素,只需改變結點的指針域即可。69.一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數為( )。答案:AA)16B)10C)6D)4題目解析:根據二叉樹的性質3:在任意一棵二叉樹中,度為0的葉子結點總是比度為2的結點多一個,所以本題中度為2的結點是5-14個,所以度為1的結點的個數是25-5-416個。70.在滿足實體完整性約束的條件下( )。答案:AA)一個關系中應該有一個或多個候選關鍵字B)一個關系中只能有一個候選關鍵字C)一個關系中必須有多個候選關鍵字D)一個關系中可以沒有候選關鍵字題目解析:實體完整性

40、約束要求關系的主鍵中屬性值不能為空值,所以選擇A)。71.下列鏈表中,其邏輯結構屬于非線性結構的是( )。答案:AA)二叉鏈表B)循環鏈表C)雙向鏈表D)帶鏈的棧題目解析:二叉鏈表是二叉樹的鏈式存儲結構,屬于非線性結構,其余選項均屬于線性結構,所以選擇A)。72.設循環隊列的存儲空間為Q(1: 35),初始狀態為front=rear=35。現經過一系列入隊與退隊運算后,front=15,rear=15,則循環隊列中的元素個數為( )。答案:DA)15B)16C)20D)0或35題目解析:front=rear,說明隊列為滿或者為空,所以答案選擇D)。73.下列關于棧的敘述中,正確的是( )。答案

41、:CA)棧底元素一定是最后入棧的元素B)棧頂元素一定是最先入棧的元素C)棧操作遵循先進后出的原則D)以上三種說法都不對題目解析:棧操作遵循先進后出的原則,棧底元素一定是最先入棧的元素,棧頂元素一定是最后入棧的元素,所以選擇C)。74.下列敘述中正確的是( )。答案:AA)程序執行的效率與數據的存儲結構密切相關B)程序執行的效率只取決于程序的控制結構C)程序執行的效率只取決于所處理的數據量D)以上三種說法都不對題目解析:采用的存儲結構不同,其數據處理的效率是不同的,程序執行的效率也就不同,因此選項A)是正確的。程序執行的效率不僅與程序的控制結構有關,而且與所處理的數據量有關,因此選項 B)、C)

42、、D)都不正確。75.下列與隊列結構有關聯的是( )。答案:DA)函數的遞歸調用B)數組元素的引用C)多重循環的執行D)先到先服務的作業調度題目解析:隊列是按照先進先出的原則組織數據的,可以看出以下四個選項中,與隊列結構有關聯的是D)選項。76.( )。答案:CA)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ題目解析:前序遍歷的過程是首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。根據圖可以分析出,該二叉樹的前序遍歷結果為C)。77.一個棧的初始狀態為空。現將元素1,2,3,A,

43、B,C依次入棧,然后再依次出棧,則元素出棧的順序是( )。答案:CA)1,2,3,A,B,CB)C,B,A,1,2,3C)C,B,A,3,2,1D)1,2,3,C,B,A題目解析:棧是先進后出的原則組織數據,所以入棧最早的最后出棧,所以選擇C)。78.下列敘述中正確的是( )。答案:DA)一個算法的空間復雜度大,則其時間復雜度也必定大B)一個算法的空間復雜度大,則其時間復雜度必定小C)一個算法的時間復雜度大,則其空間復雜度必定小D)算法的時間復雜度與空間復雜度沒有直接關系題目解析:算法的時間復雜度是指之行算法所需要的計算工作量;算法的空間復雜度是指執行這個算法所需要的內存空間,兩者之間沒有直接

44、關系。79.下列敘述中正確的是( )。答案:AA)循環隊列中的元素個數隨隊頭指針與隊尾指針的變化而動態變化B)循環隊列中的元素個數隨隊頭指針的變化而動態變化C)循環隊列中的元素個數隨隊尾指針的變化而動態變化D)以上說法都不對題目解析:循環隊列中的元素個數隨隊頭指針與隊尾指針的變化而動態變化,選A)。80.一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹中的總結點數為( )。答案:BA)219B)229C)230D)231題目解析:根據二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個,葉子結點為80,度為2的結點為79,所以總結點數為:80+70+79=229,選B

45、)。81.對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數為( )。答案:CA)9B)10C)45D)90題目解析:在最壞情況下,冒泡排序的時間復雜度為n(n-1)/2,為45,答案選C)。82.下列敘述中正確的是( )。答案:BA)算法的效率只與問題的規模有關,而與數據的存儲結構無關B)算法的時間復雜度是指執行算法所需要的計算工作量C)數據的邏輯結構與存儲結構是一一對應的D)算法的時間復雜度與空間復雜度一定相關題目解析:算法的時間復雜度是指執行算法所需要的計算工作量,與數據的存儲結構有關,與算法的空間復雜度沒有關系。數據的邏輯結構與存儲位置無關,即與存儲結構無關,所以選擇B)。83

46、.下列敘述中正確的是( )。答案:CA)線性表鏈式存儲結構的存儲空間一般要少于順序存儲結構B)線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續的C)線性表鏈式存儲結構的存儲空間可以是連續的,也可以是不連續的D)以上說法都不對題目解析:在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的,所以選擇C)。84.某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)( )。答案:DA)3B)6C)8D)12題目解析:根據二叉樹的性質,葉子結點比度為2的結點個數多一個,葉子結

47、點只有1個,那么度為2的結點為0個,可以得出共有11個度為1的結點,那么該二叉樹每一層上只能有一個結點,共12層,即深度為12。85.對長度為n的線性表作快速排序,在最壞情況下,比較次數為( )。答案:DA)nB)n-1C)n(n-1)D)n(n-1)/2題目解析:在最壞情況下,快速排序需要比較n(n-1)/2次。86.下列敘述中正確的是( )。答案:DA)有且只有一個根結點的數據結構一定是線性結構B)每一個結點最多有一個前件也最多有一個后件的數據結構一定是線性結構C)有且只有一個根結點的數據結構一定是非線性結構D)有且只有一個根結點的數據結構可能是線性結構,也可能是非線性結構題目解析:有且只

48、有一個根結點的數據結構可以是線性結構,如隊列,也可以是非線性結構,如二叉樹,所以選項D)正確。選項B)中,如果有兩個根結點,則不符合線性結構的條件,說法錯誤。本題答案選D)。87.下列敘述中錯誤的是( )。答案:CA)在雙向鏈表中,可以從任何一個結點開始直接遍歷到所有結點B)在循環鏈表中,可以從任何一個結點開始直接遍歷到所有結點C)在線性單鏈表中,可以從任何一個結點開始直接遍歷到所有結點D)在二叉鏈表中,可以從根結點開始遍歷到所有結點題目解析:在線性單鏈表中,每一個結點只有一個指針域,由這個指針只能找到后件結點,但不能找到前件結點,選項C)說法錯誤。88.某二叉樹共有13個結點,其中有4個度為

49、1的結點,則葉子結點數為( )。答案:AA)5B)4C)3D)2題目解析:在線性單鏈表中,每一個結點只有一個指針域,由這個指針只能找到后件結點,但不能找到前件結點,選項C)說法錯誤。89.設棧的順序存儲空間為S(1: 50),初始狀態為top=0。現經過一系列入棧與退棧運算后,top=20,則當前棧中的元素個數為( )。答案:CA)30B)29C)20D)19題目解析:在棧中,top位置直接反映棧中元素的個數,top=20,則說明當前棧中的元素個數為20。90.下列敘述中正確的是( )。答案:BA)棧與隊列都只能順序存儲B)循環隊列是隊列的順序存儲結構C)循環鏈表是循環隊列的鏈式存儲結構D)以

50、上說法都不對題目解析:棧和隊列都可以采用鏈式存儲結構,選項A)錯誤。隊列的順序存儲結構一般采用循環隊列的形式,所以循環隊列是隊列的順序存儲結構,選項B正確,選項C)錯誤。答案選B)。91.設某二叉樹的前序序列為ABC,中序序列為CBA,則該二叉樹的后序序列為( )。答案:BA)BCAB)CBAC)ABCD)CAB題目解析:前序序列為ABC,中序序列為CBA,說明根結點為A,且B和C均在該A的左子樹上;結點B和C的前序序列為BC,中序序列為CB,則說明結點C在結點B的左子樹上,根據以上分析,該二叉樹的后序序列為CBA,答案選B)。92.下列排序方法中,最壞情況下時間復雜度最小的是( )。答案:C

51、A)冒泡排序B)快速排序C)堆排序D)直接插入排序題目解析:在最壞情況下,堆排序時間復雜度為O(nlog2n),其余選項均為O(n2),所以答案選C)。93.為了對有序表進行對分查找,則要求有序表( )。答案:AA)只能順序存儲B)只能鏈式存儲C)可以順序存儲也可以鏈式存儲D)任何存儲方式題目解析:對分查找必須滿足用順序存儲結構,且線性表是有序表兩個條件,答案選A)。94.設某二叉樹的后序序列為CBA,中序序列為ABC,則該二叉樹的前序序列為( )。答案:CA)BCAB)CBAC)ABCD)CAB題目解析:后序序列為CBA,中序序列為ABC,則說明,A為根結點,并且B和C均在A的右子樹上;結點

52、B和C中,后序序列為CB,中序序列為BC,則說明結點C在結點B的右子樹上,根據分析可得,該二叉樹的前序序列為ABC,答案選C)。95.下列敘述中正確的是( )。答案:DA)存儲空間不連續的所有鏈表一定是非線性結構B)結點中有多個指針域的所有鏈表一定是非線性結構C)能順序存儲的數據結構一定是線性結構D)帶鏈的棧與隊列是線性結構題目解析:判斷一個非空的數據結構是否為線性結構必須滿足以下兩個條件: 有且只有一個根結點; 每一個結點最多有一個前件,也最多有一個后件。根據這兩個條件,可知選項A)、B)和C)都不能判定是否是線性結構,選項D)正確,答案選D)。96.算法時間復雜度的度量方法是( )。答案:

53、BA)算法程序的長度B)執行算法所需要的基本運算次數C)執行算法所需要的所有運算次數D)執行算法所需要的時間題目解析:算法的時間復雜度,是指執行算法所需要的計算工作量,算法的工作量用算法所執行的基本運行次數來度量,答案選B)。97.設循環隊列為Q(1: m),初始狀態為front=rear=m。現經過一系列的入隊與退隊運算后,front=rear=1,則該循環隊列中的元素個數為( )。答案:DA)1B)2C)m-1D)0或m題目解析:在循環隊列中,當front=rear時,有兩種情況,一種是隊列為空,另一種是隊列為滿,所以答案選D)。98.在最壞情況下( )。答案:CA)快速排序的時間復雜度比

54、冒泡排序的時間復雜度要小B)快速排序的時間復雜度比希爾排序的時間復雜度要小C)希爾排序的時間復雜度比直接插入排序的時間復雜度要小D)快速排序的時間復雜度與希爾排序的時間復雜度是一樣的題目解析:在最壞情況下,快速排序、冒泡排序和直接插入排序所需要的比較次數為O(n2),希爾排序所需要的比較次數為O(n1.5),所以答案選C)。99.在深度為7的滿二叉樹中,度為2的結點個數為( )。答案:BA)64B)63C)32D)31題目解析:根據滿二叉樹的性質,深度為7的滿二叉樹共有27-1=127個結點。根據二叉樹的性質,該滿二叉樹在第7層上,共有27-1=64個結點,即共有64個葉子結點,那么度為2的結

55、點個數為127-64=63個。100.設棧的順序存儲空間為S(1: m),初始狀態為top=m+1。現經過一系列入棧與退棧運算后,top=20,則當前棧中的元素個數為( )。答案:CA)30B)20C)m-19D)m-20題目解析:初始狀態為top=m+1,經過運算之后,top=20,則當前棧中元素個數為m+1-20=m-19個。101.算法空間復雜度的度量方法是( )。答案:DA)算法程序的長度B)算法所處理的數據量C)執行算法所需要的工作單元D)執行算法所需要的存儲空間題目解析:算法的空間復雜度,一般是指執行這個算法所需要的內存空間,答案選D)。102.下面不屬于軟件開發階段任務的是( )。答案:BA)測試B)可行性研究C)設計D)實現題目解析:可行性研究是屬于軟件定義階段的任務,所以答案選B)。103.設循環隊列為Q(1: m),其初始狀態為front=rear=m。經過一系列入隊與退隊運算后,front=15,rear=20。現要在該循環隊列中尋找最大值的元素,最壞情況下需要比較的次數為( )。答案:

溫馨提示

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

評論

0/150

提交評論