![國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共315題)_第1頁](http://file4.renrendoc.com/view7/M01/39/01/wKhkGWbFN5CAQmuFAAKETpRjMKI097.jpg)
![國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共315題)_第2頁](http://file4.renrendoc.com/view7/M01/39/01/wKhkGWbFN5CAQmuFAAKETpRjMKI0972.jpg)
![國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共315題)_第3頁](http://file4.renrendoc.com/view7/M01/39/01/wKhkGWbFN5CAQmuFAAKETpRjMKI0973.jpg)
![國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共315題)_第4頁](http://file4.renrendoc.com/view7/M01/39/01/wKhkGWbFN5CAQmuFAAKETpRjMKI0974.jpg)
![國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共315題)_第5頁](http://file4.renrendoc.com/view7/M01/39/01/wKhkGWbFN5CAQmuFAAKETpRjMKI0975.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷2(共9套)(共315題)國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷第1套一、單項選擇題(本題共37題,每題1.0分,共37分。)1、下列敘述中正確的是A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標準答案:A知識點解析:所謂循環(huán)結構就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。2、下列關于線性鏈表的敘述中,正確的是A、各數(shù)據(jù)結點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進行插入與刪除時,不需要移動表中的元素D、以上都不正確標準答案:C知識點解析:線性表的鏈式存儲結構稱為線性鏈表。在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。3、下列敘述中正確的是A、線性表鏈式存儲結構的存儲空間一般要少于順序存儲結構B、線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續(xù)的C、線性表鏈式存儲結構的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標準答案:C知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。4、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、以上都不正確標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結煮分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。5、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、上述三種說法都不對標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。6、下列對于線性鏈表的描述中正確的是A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標準答案:A知識點解析:一般來說,在線性表的鏈式存儲結構中,各數(shù)據(jù)結點的存儲序號是不連續(xù)的,并且各結點在存儲空間中的位置關系與邏輯關系也不一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關系是由各結點的指針域來指示的,指向線性表中第一個結點的指針head稱為頭指針,當head=NULL(或0)時稱為空表。7、下列敘述中正確的是A、順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的B、順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C、順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表D、鏈式存儲結構比順序存儲結構節(jié)省存儲空間標準答案:A知識點解析:順序存儲方式主要用于線性的數(shù)據(jù)結構,它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結點之間的關系由存儲單元的鄰接關系來體現(xiàn)。而鏈式存儲結構的存儲空間不一定是連續(xù)的。8、下列鏈表中,其邏輯結構屬于非線性結構的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標準答案:A知識點解析:二叉鏈表作為樹的存儲結構。鏈表中結點的兩個鏈域分別指向該結點的第一個孩子結點和下一個兄弟結點。9、下列敘述中正確的是A、有~一個以上根結點的數(shù)據(jù)結構不一定是非線性結構B、只有一個根結點的數(shù)據(jù)結構不一定是線性結構C、循環(huán)鏈表是非線性結構D、雙向鏈表是非線性結構標準答案:B知識點解析:在數(shù)據(jù)結構中,樹這類的的數(shù)據(jù)結構只有一個根結點,但它不是線性結構。10、某系統(tǒng)總體結構圖如下圖所示:該系統(tǒng)總體結構圖的深度是A、7B、6C、3D、2標準答案:C知識點解析:這個系統(tǒng)總體結構圖是一棵樹結構,在樹結構中,根結點在第1層,同一層上所有子結點都在下一層,由系統(tǒng)總體結構圖可知,這棵樹共3層。在樹結構中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。11、下列關于二叉樹的敘述中,正確的是A、葉子結點總是比度為2的結點少一個B、葉子結點總是比度為2的結點多一個C、葉子結點數(shù)是度為2的結點數(shù)的兩倍D、度為2的結點數(shù)是度為1的結點數(shù)的兩倍標準答案:B知識點解析:由二叉樹的性質可以知道在二叉樹中葉子結點總是比度為2的結點多一個。12、某二叉樹中有n個度為2的結點,則該二叉樹中的葉子結點數(shù)為A、n+1B、n-1C、2nD、n/2標準答案:A知識點解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。所以該二叉樹的葉子結點數(shù)等于n+1。13、某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數(shù)是A、10B、8C、6D、4標準答案:C知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。14、一棵二叉樹共有25個結點,其中5個是葉子結點,則度為l的結點數(shù)為A、16B、10C、6D、4標準答案:A知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故此度為1的結點個數(shù)=總結點數(shù)-葉子節(jié)點數(shù).度為2的節(jié)點數(shù)=25-5-4=16。15、一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、229C、230D、231標準答案:B知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故總結點數(shù)=葉子節(jié)點數(shù)+度為2的節(jié)點數(shù)+度為1的節(jié)點數(shù)=80+79+70=229。16、一棵二叉樹中共有70個葉子結點與80個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、221C、229D、231標準答案:A知識點解析:在二叉樹中,葉子結點個數(shù)為n0,則度為2的結點數(shù)n2=n0—1。本題中葉子結點的個數(shù)為70,所以度為2的結點個數(shù)為69,因而總結點數(shù)=葉子結點數(shù)+度為1的結點數(shù)+度為2的結點數(shù)=70+80+69=219。17、某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A、3B、4C、6D、7標準答案:D知識點解析:根據(jù)二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為7層,每層只有一個結點。18、某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)A、3B、6C、8D、12標準答案:D知識點解析:根據(jù)二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為12層,每層只有一個結點。19、設二叉樹T的深度為4,其中度為1,2,3,4的結點個數(shù)分別為4,2,1,1。則T中的葉子結點數(shù)為A、8B、7C、6D、5標準答案:B知識點解析:深度為m二叉樹其總結點數(shù)為2m-1=24一1=15??偨Y點數(shù)減去度為1,2,3,4的結點個數(shù)就是葉子結點數(shù)。15—4-2一1一1=7。20、設一棵完全二叉樹共有700個結點,則此二叉樹中的葉子結點數(shù)為A、85B、120C、250D、350標準答案:D知識點解析:①具有n個結點的完全二叉樹的深度為[log2n]+1,計算出該完全二叉樹的深度為10。②設度為0的結點(即葉子結點)為n0,度為1的結點為n1,度為2的結點為n2,總結點數(shù)為n,深度為k。n=n1+n2+n0,由于n0=n2+1則n2=n0-1,故n=n1+n0-1+n0=n1+2n0-1。由于完全二叉樹中度為1的結點數(shù)只有兩種可能:0或1。⑧假設度為1的結點數(shù)為0即滿二叉樹,根據(jù)滿二叉樹的定義,其2m-1個結點,根據(jù)以上計算所得的深度10來計算,應有210-1=1024-1=1023個結點,顯然與題目中700個結點不符。因此,度為1的結點數(shù)必然為1。故n=n1+2n0-1=1+2n0-1=2n0,則n0=n/2=700/2=350。21、在深度為7的滿二叉樹中,葉子結點的個數(shù)為A、32B、31C、64D、63標準答案:C知識點解析:所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。也就是在滿二叉樹中,每一層上的結點數(shù)都是最大結點數(shù),即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二叉樹有2m-1個結點。對于深度為7的滿二叉樹,葉子結點所在的是第7層,一共有27-1=64個葉子結點。全部結點共27-1=127個。22、對下列二叉樹進行前序遍歷的結果是A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ標準答案:C知識點解析:二叉樹前序遍歷的簡單描述:若二叉樹為空,則結束返回;否則:①訪問根結點;②前序遍歷左子樹:③前序遍歷右子樹。可見,前序遍歷二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結構可知前序遍歷的結果是ABDYECFXZ。23、對如下二叉樹進行后序遍歷的結果為A、ABCDEFB、DBEAFCC、ABDECFD、DEBFCA標準答案:D知識點解析:所謂后序遍歷是指在訪問根據(jù)結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。其簡單描述為:若二叉樹為空,則結束返回;否則,先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結點。對于后序遍歷,第一個訪問的結點一定是最左下的結點,最后一個訪問的結點一定是根結點,所以選項D)為正確答案。24、對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為A、log2nB、n/2C、nD、n+1標準答案:C知識點解析:在進行順序查找過程中,如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中的所有元素進行比較,這是順序查找的最壞情況,需要比較的次數(shù)為n次。25、在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A、63B、64C、6D、7標準答案:B知識點解析:順序查找又稱順序搜索。順序查找一般是指在線性表中查找指定的元素,其基本方法是:從線性表的第一元素開始,依次將線性表中的元素與被查找的元素進行比較,若相等則表示找到(即查找成功),若線性表中所有元素都與被查元素進行了比較但都不相等,則表示線性表中沒有要找的元素(即查找失敗)。如果線性表中的第一個元素就是要查找的元素,則只需要做一次比較就查找成功;但如果要查找的元素是線性表中的最后一個元素,或者要查找元素不在線性表中,則需要與線性表中所有元素進行比較,這是順序查找的最壞情況,比較次數(shù)為線性表的長度。26、下列敘述中正確的是A、對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)標準答案:A知識點解析:本題主要考查的知識點為查找技術。順序查找的使用情況:①線性表為無序表;②表采用鏈式存儲結構。二分法查找只適用于順序存儲的有序表,并不適用于線性鏈表。27、在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)標準答案:C知識點解析:對于長度為n的有序線性表,在最壞情況下,二分法查找只需比較log2n次,而順序查找需要比較n次。28、下列數(shù)據(jù)結構中,能用二分法進行查找的是A、順序存儲的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表標準答案:A知識點解析:二分法查找只適應于順序存儲的有序表。有序表是指線性表中的元素按值非遞減排序(即從小到大,但允許相鄰元素值相等)的表。29、冒泡排序在最壞情況下的比較次數(shù)是A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2標準答案:C知識點解析:對n個結點的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n—1)/2。30、對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為A、9B、10C、45D、90標準答案:C知識點解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n-1)/2。31、對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數(shù)中正確的是A、冒泡排序為n/2B、冒泡排序為nC、快速排序為nD、快速排序為n(n-1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。32、對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為A、nB、n一1C、n(n一1)D、n(n一1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。快速排序法也是一種互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。33、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序C、直接插入排序D、堆排序標準答案:D知識點解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n一1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序O(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)。34、下列排序方法中,最壞情況下比較次數(shù)最少的是A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標準答案:D知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n一1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。35、下列數(shù)據(jù)結構中,不能采用順序存儲結構的是A、棧B、堆C、隊列D、非完全二叉樹標準答案:D知識點解析:堆中某個結點的值總是不大于或不小于其父結點的值、堆總是一棵完全二叉樹,可以以順序存儲結構存儲;隊列的存儲結構分為鏈式存儲、順序存儲兩種;棧作為一種數(shù)據(jù)結構,是一種只能在一端進行插入和刪除操作的特殊線性表,可以以順序存儲結構存儲。36、設二叉樹共有375個結點,其中度為2的結點有187個。則度為1的結點個數(shù)是A、0B、1C、188D、不可能有這樣的二叉樹標準答案:A知識點解析:二叉樹的每個結點至多只有二棵子樹(不存在度大于2的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第i層至多有2i-1個結點;深度為k的二叉樹至多有2k-1個結點;對任何一棵二叉樹T,如果其終端結點數(shù)為n0,度為2的結點數(shù)為n2,則n0=n2+1。本題中,度為2的結點有187個,葉子結點應該有187+1=188個,度為1的結點個數(shù)=375一187-188=0。37、在帶鏈隊列中,經(jīng)過一系列正常的操作后,如果front=rear,則隊列中的元素個數(shù)為A、0或1B、0C、1D、隊列滿標準答案:A知識點解析:隊列是一種特殊的線性表,特殊之處在于它只允許在表的前端(舶nt)進行刪除操作,而在表的后端(rear)進行插入操作,和棧一樣,隊列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列的鏈式存儲也稱為鏈隊列。為了便于操作,可給鏈隊列添加1個頭結點,并令頭指針指向頭結點。隊列為空的判斷條件是頭指針和尾指針的值相同,且均指向頭結點。當隊列為空(0)或1時,front=rear。國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷第2套一、單項選擇題(本題共30題,每題1.0分,共30分。)1、設循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為A、15B、16C、20D、0或35標準答案:D知識點解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達15,而尾指針第二次到達15,此時元素個數(shù)為35。2、在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為A、2B、3C、4D、5標準答案:B知識點解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當有元素入隊時,rear=rear+1,而元素出隊的時候,front=front+1,當rear值大于front值時,隊列中的元素個數(shù)為rear-front,當rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。3、下列敘述中正確的是A、棧是一種先進先出的線性表B、隊列是一種后進先出的線性表C、棧與隊列都是非線性結構D、棧與隊列都是線性結構標準答案:D知識點解析:棧是先進后出,隊列是先進先出。棧和隊列都是一種線性表,屬于線性結構。4、下列敘述中正確的是A、棧是“先進先出”的線性表B、隊列是“先進后出”的線性表C、循環(huán)隊列是非線性結構D、有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構標準答案:D知識點解析:棧是“先進后出”,隊列“是先進先出”。棧和隊列都是一種線性表,屬于線性結構。有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構。采用鏈式存儲結構的線性表稱之為線性鏈表。5、下列與隊列結構有關聯(lián)的是A、函數(shù)的遞歸調用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務的作業(yè)調度標準答案:D知識點解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。6、下列敘述中正確的是A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標準答案:A知識點解析:所謂循環(huán)結構就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。7、下列關于線性鏈表的敘述中,正確的是A、各數(shù)據(jù)結點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進行插入與刪除時,不需要移動表中的元素D、以上都不正確標準答案:C知識點解析:線性表的鏈式存儲結構稱為線性鏈表。在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲卒間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。8、下列敘述中正確的是A、線性表鏈武存儲結構的存儲空間一般要少于順序存儲結構B、線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續(xù)的C、線性表鏈式存儲結構的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標準答案:C知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。9、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、以上都不正確標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。10、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、上述三種說法都不劉標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。11、下列對于線性鏈表的描述中正確的是A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件冗素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標準答案:A知識點解析:一般來說,在線性表的鏈式存儲結構中,各數(shù)據(jù)結點的存儲序號是不連續(xù)的,并且各結點在存儲空間中的位置關系與邏輯關系也不一一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關系是由各結點的指針域來指示的,指向線性表中第一個結點的指針head稱為頭指針,當head=NULL(或0)時稱為空表。12、下列敘述中正確的是A、順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的B、順序存儲結構只針對線性結構,鏈式存儲結構只針對非線件結構C、順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表D、鏈式存儲結構比順序存儲結構節(jié)省存儲空間標準答案:A知識點解析:順序存儲方式主要用于線性的數(shù)據(jù)結構,它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結點之間的關系由存儲單元的鄰接關系來體現(xiàn)。而鏈式存儲結構的存儲空間不一定是連續(xù)的。13、下列鏈表中,其邏輯結構屬于非線件結構的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標準答案:A知識點解析:二叉鏈表作為樹的存儲結構。鏈表中結點的兩個鏈域分別指向該結點的第一個孩子結點和下一個兄弟結點。14、下列敘述中正確的是A、有一個以上根結點的數(shù)據(jù)結構不一定是非線性結構B、只有一個根結點的數(shù)據(jù)結構不一定是線性結構C、循環(huán)鏈表是非線性結構D、雙向鏈表是非線性結構標準答案:B知識點解析:在數(shù)據(jù)結構中,樹這類的的數(shù)據(jù)結構只有一個根結點,但它不是線性結構。15、某系統(tǒng)總體結構圖如下圖所示:該系統(tǒng)總體結構圖的深度是A、7B、6C、3D、2標準答案:C知識點解析:這個系統(tǒng)總體結構圖是一棵樹結構,在樹結構中,根結點在第1層,同一層上所有子結點都在下一層,由系統(tǒng)總體結構圖可知,這棵樹共3層。在樹結構中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。16、下列關于二叉樹的敘述中,正確的是A、葉子結點總是比度為2的結點少一個B、葉子結點總是比度為2的結點多一個C、葉子結點數(shù)是度為2的結點數(shù)的兩倍D、度為2的結點數(shù)是度為1的結點數(shù)的兩倍標準答案:B知識點解析:由二叉樹的性質可以知道在二叉樹中葉子結點總是比度為2的結點多一個。17、某二叉樹中有n個度為2的結點,則該二叉樹中的葉子結點數(shù)為A、n+1B、n-1C、2nD、n/2標準答案:A知識點解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。所以該二叉樹的葉子結點數(shù)等于n+1。18、某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數(shù)是A、10B、8C、6D、4標準答案:C知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。19、一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數(shù)為A、16B、10C、6D、4標準答案:A知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故此度為1的結點個數(shù)=總結點數(shù)-葉子節(jié)點數(shù)-度為2的節(jié)點數(shù)=25—54=16。20、一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、229C、230D、231標準答案:B知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故總結點數(shù)=葉子節(jié)點數(shù)+度為2的節(jié)點數(shù)+度為1的節(jié)點數(shù)=80+79+70=229。21、一棵二叉樹中共有70個葉子結點與80個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、221C、229D、231標準答案:A知識點解析:在二叉樹中,葉子結點個數(shù)為n0,則度為2的結點數(shù)n2=n0-1。本題中葉子結點的個數(shù)為70,所以度為2的結點個數(shù)為69,因而總結點數(shù)=葉子結點數(shù)+度為1的結點數(shù)+度為2的結點數(shù)=70+80+69=219。22、某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A、3B、4C、6D、7標準答案:D知識點解析:根據(jù)二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為7層,每層只有一個結點。23、某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)A、3B、6C、8D、12標準答案:D知識點解析:根據(jù)二叉樹的性質,度為O的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為12層,每層只有一個結點。24、設樹T的深度為4,其中度為1,2,3,4的結點個數(shù)分別為4,2,1,1。則T中的葉子結點數(shù)為A、8B、7C、6D、5標準答案:B知識點解析:深度為m二叉樹其總結點數(shù)為2m一1=24—1=15??偨Y點數(shù)減去度為1,2,3,4的結點個數(shù)就是葉子結點數(shù)。15-4-2-1-1=7。25、設一棵完全二叉樹共有700個結點,則此二叉樹中的葉子結點數(shù)為A、85B、120C、250D、350標準答案:D知識點解析:①具有n個結點的完全二叉樹的深度為[long2n]+1,計算出該完全二叉樹的深度為10。②設度為0的結點(即葉子結點)為n0,度為1的結點為n1,度為2的結點為n2,總結點數(shù)為n,深度為k。n=n1+n2+n0,由于n0=n2+1,則n2=n0—1,故n=n1+n0—1+n0=n1+2n0一1。由于完全二叉樹中度為1的結點數(shù)只有兩種可能:0或1。③假設度為]的結點數(shù)為0即滿二叉樹,根據(jù)滿二叉樹的定義,其2m—1個結點,跟據(jù)以上計算所得的深度10來計算,應有210-1=1024一1=1023個結點,顯然與題目中700個結點不符。因此,度為1的結點數(shù)必然為1。故n=n1+2n0-1=1+2n0-1=2n0,則n0=n/2=700/2=350。26、在深度為7的滿二叉樹中,葉子結點的個數(shù)為A、32B、31C、64D、63標準答案:C知識點解析:所渭滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。也就是在滿二叉樹中,每一層上的結點數(shù)都是最大結點數(shù),即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二義樹有2m-1個結點。對于深度為7的滿二叉樹,葉子結點所在的是第7層,一共有27-1=64個葉子結點。全部結點共27-1=127個。27、對下列二叉樹進行前序遍歷的結果是A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ標準答案:C知識點解析:二叉樹前序遍歷的簡單描述:若二叉樹為空,則結束返回:甭則:①訪問根結點;②前序遍歷左子樹;③前序遍歷右子樹??梢?,前序遍歷二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結構可知前序遍歷的結果是ABDYECFXZ。28、對如下二叉樹進行后序遍歷的結果為A、ABCDEFB、DBEAFCC、ABDECFD、DEBFCA標準答案:D知識點解析:所謂后序遍歷是指在訪問根據(jù)結點、遍歷左子樹與遍歷右予樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。其簡單描述為:若二叉樹為空,則結束返回;否則,先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結點。對于后序遍歷,第一個訪問的結點一定是最左下的結點,最后一個訪問的結點一定是根結點,所以選項D)為正確答案。29、對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為A、log2nB、n/2C、nD、n+1標準答案:C知識點解析:在進行順序查找過程中,如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為查找這個元素需要與線性表中的所有元素進行比較,這是順序查找的最壞情況,需要比較的次數(shù)為n次。30、在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A、63B、64C、6D、7標準答案:B知識點解析:順序查找又稱順序搜索。順序查找一般是指在線性表中查找指定的元素,其基本方法是:從線性表的第一元素開始,依次將線性表中的元素與被查找的元素進行比較,若相等則表示找到(即查找成功),若線性表中所有元素都與被查元素進行了比較但都不相等,則表示線性表中沒有要找的元素(即查找失敗)。如果線性表中的第一個元素就是要查找的元素,則只需要做一次比較就查找成功;但如果要查找的元素是線性表中的最后一個元素,或者要查找元素不在線性表中,則需要與線性表中所有元素進行比較,這是順序查找的最壞情況,比較次數(shù)為線性表的長度。國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷第3套一、單項選擇題(本題共36題,每題1.0分,共36分。)1、對下列二叉樹進行前序遍歷的結果是()。A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ標準答案:C知識點解析:二叉樹前序遍歷的簡單描述:若二叉樹為空,則結束返回;否則:①訪問根結點:②前序遍歷左子樹;⑤前序遍歷右子樹??梢?,前序遍歷二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結構可知前序遍歷的結果是ABDYECFXZ。2、對如下二叉樹進行后序遍歷的結果為()。A、ABCDEFB、DBEAFCC、ABDECFD、DEBFCA標準答案:D知識點解析:所謂后序遍歷是指在訪問根據(jù)結點、遍歷左子樹與遍歷右子樹這三者巾,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。其簡單描述為:若二叉樹為空,則結束返回;否則,先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結點。對于后序遍歷,第一個訪問的結點一定是最左下的結點,最后一個訪問的結點一定是根結點,所以選項D為正確答案。3、對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為()。A、log2nB、n/2C、nD、n+1標準答案:C知識點解析:在進行順序查找過程中,如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中的所有元素進行比較,這是順序查找的最壞情況,需要比較的次數(shù)為n次。4、在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為()。A、63B、64C、6D、7標準答案:B知識點解析:順序查找又稱順序搜索。順序查找一般是指在線性表中查找指定的元素,其基本方法是:從線性表的第一元素開始,依次將線性表中的元素與被查找的元素進行比較,若相等則表示找到(即查找成功),若線性表中所有元素都與被查元素進行了比較但都不相等,則表示線性表中沒有要找的元素(即查找失敗)。如果線性表中的第一個元素就是要查找的元素,則只需要做一次比較就查找成功:但如果要查找的元素是線性表中的最后一個元素,或者要查找元素不在線性表中,則需要與線性表中所有元素進行比較,這是順序查找的最壞情況,比較次數(shù)為線性表的長度。5、下列敘述中正確的是()。A、對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(1og2n)D、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n.)標準答案:A知識點解析:本題主要考查的知識點為查找技術。順序查找的使用情況:①線性表為無序表;②表采用鏈式存儲結構。二分法查找只適用于順序存儲的有序表,并不適用于線性鏈表。6、在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)標準答案:C知識點解析:對于長度為n的有序線性表,在最壞情況下,二分法查找只需比較log2n次,而順序查找需要比較n次。7、下列數(shù)據(jù)結構中,能用二分法進行查找的是()。A、順序存儲的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表標準答案:A知識點解析:二分法查找只適應于順序存儲的有序表。有序表是指線性表中的元素按值非遞減排序(即從小到大,但允許相鄰元素值相等)的表。8、冒泡排序在最壞情況下的比較次數(shù)是()。A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2標準答案:C知識點解析:對n個結點的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。9、對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為()。A、9B、10C、45D、90標準答案:C知識點解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n-1)/2。10、對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數(shù)中正確的是()。A、冒泡排序為n/2B、冒泡排序為nC、快速排序為nD、快速排序為n(n-1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。11、對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為()。A、nB、n-1C、n(n-1)D、n(n-1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。快速排序法也是一種互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。12、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序標準答案:D知識點解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序O(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)。13、下列排序方法中,最壞情況下比較次數(shù)最少的是()。A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標準答案:D知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n-1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。14、下列對隊列的描述中正確的是()。A、隊列屬于非線性表B、隊列按“先進后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進先出”原則組織數(shù)據(jù)標準答案:D知識點解析:隊列(queue)是指允許在一端進行插入、而在另一端進行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結構中,最先插入的元素將最先能夠被刪除;反之,最后插入的元素將最后才能被刪除。因此,隊列又稱“先進先出”或“后進后出”的線性表。15、下列敘述中正確的是()。A、棧是一種先進先出的線性表B、隊列是一種后進先出的線性表C、棧與隊列都是非線性結構D、以上三種說法都不對標準答案:D知識點解析:棧是先進后出的線性表,隊列是先進先出的線性表,二者均為線性結構。16、下列敘述中正確的是()。A、棧是“先進先出”的線性表B、隊列是“先進后出”的線性表C、循環(huán)隊列是非線性結構D、有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構標準答案:D知識點解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進后出的線性表,隊列是先進先出的線性表。根據(jù)數(shù)據(jù)結構中各數(shù)據(jù)元素之間的前后件關系的復雜程度,一般將數(shù)據(jù)結構分為兩大類型:線性結構與非線性結構。有序線性表既可以采用順序存儲結構,又可以采用鏈式存儲結構。17、下列關于棧的描述中正確的是()。A、在棧中只能插入元素而不能刪除元素B、在棧中只能刪除元素而不能插入元素C、棧是特殊的線性表,只能在一端插入或刪除元素D、棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素標準答案:C知識點解析:棧是限定在一端進行插入與刪除的線性表,在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。18、下列敘述中正確的是()。A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結構B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標準答案:D知識點解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。19、對于循環(huán)隊列,下列敘述中正確的是()。A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針標準答案:D知識點解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運算和退隊運算。每進行一次入隊運算,隊尾指針就進一。每進行一次退隊運算,隊頭指針就進一。當rear或front等于隊列的長度加l時,就把rear·或front值置為l。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。20、下列敘述中正確的是()。A、循環(huán)隊列是隊列的一種鏈式存儲結構B、循環(huán)隊列是隊列的一種順序存儲結構C、循環(huán)隊列是非線性結構D、循環(huán)隊列是一種邏輯結構標準答案:B知識點解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應該是線性結構。隊列是一種邏輯結構,而循環(huán)隊列是一種順序存儲結構的隊列。21、設循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為()。A、15B、16C、20D、0或35標準答案:D知識點解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達15,而尾指針第二次到達15,此時元素個數(shù)為35。22、在一個容量為15的循環(huán)隊列中,若頭指針fron=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為()。A、2B、3C、4D、5標準答案:B知識點解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當有元素入隊時,rear=rear+1。而元素出隊的時候,front=front+1,當rear值大于front值時,隊列中的元素個數(shù)為rear-front,當rcar的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。23、下列敘述中正確的是()。A、棧是一種先進先出的線性表B、隊列是一種后進先出的線性表C、棧與隊列都是非線性結構D、棧與隊列都是線性結構標準答案:D知識點解析:棧是先進后出,隊列是先進先出。棧和隊列都是一種線性表,屬于線性結構。24、下列敘述中正確的是()。A、棧是“先進先出”的線性表B、隊列是“先進后出”的線性表C、循環(huán)隊列是非線性結構D、有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構標準答案:D知識點解析:棧是“先進后出”,隊列“是先進先出”。棧和隊列都是一種線性表,屬于線性結構。有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構。采用鏈式存儲結構的線性表稱之為線性鏈表。25、下列與隊列結構有關聯(lián)的是()。A、函數(shù)的遞歸調用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務的作業(yè)調度標準答案:D知識點解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。26、下列敘述中正確的是()。A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標準答案:A知識點解析:所謂循環(huán)結構就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。27、下列關于線性鏈表的敘述中,正確的是()。A、各數(shù)據(jù)結點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進行插入與刪除時,不需要移動表中的元素D、以上都不正確標準答案:C知識點解析:線性表的鏈式存儲結構稱為線性鏈表。在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。28、下列敘述中正確的是()。A、線性表鏈式存儲結構的存儲空間一般要少于順序存儲結構B、線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續(xù)的C、線性表鏈式存儲結構的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標準答案:C知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。29、下列敘述中正確的是()。A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、以上都不正確標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。30、下列敘述中正確的是()。A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、上述三種說法都不對標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域:另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。31、下列對于線性鏈表的描述中正確的是()。A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標準答案:A知識點解析:一般來說,在線性表的鏈式存儲結構中,各數(shù)據(jù)結點的存儲序號是不連續(xù)的,并且各結點在存儲空間中的位置關系與邏輯關系也不一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關系是由各結點的指針域來指示的,指向線性表中第一個結點的指針head稱為頭指針,當head=NuLL(或0)時稱為空表。32、下列敘述中正確的是()。A、順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的B、順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C、順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表D、鏈式存儲結構比順序存儲結構節(jié)省存儲空間標準答案:A知識點解析:順序存儲方式主要用于線性的數(shù)據(jù)結構,它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結點之間的關系由存儲單元的鄰接關系來體現(xiàn)。而鏈式存儲結構的存儲空間不一定是連續(xù)的。33、下列鏈表中,其邏輯結構屬于非線性結構的是()。A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標準答案:A知識點解析:二叉鏈表作為樹的存儲結構。鏈表中結點的兩個鏈域分別指向該結點的第一個孩子結點和下一個兄弟結點。34、下列敘述中正確的是()。A、有一個以上根結點的數(shù)據(jù)結構不一定是非線性結構B、只有一個根結點的數(shù)據(jù)結構不一定是線性結構C、循環(huán)鏈表是非線性結構D、雙向鏈表是非線性結構標準答案:B知識點解析:在數(shù)據(jù)結構中,樹這類的的數(shù)據(jù)結構只有一個根結點,但它不是線性結構。35、某系統(tǒng)總體結構圖如下圖所示:該系統(tǒng)總體結構圖的深度是()。A、7B、6C、3D、2標準答案:C知識點解析:這個系統(tǒng)總體結構圖是一棵樹結構,在樹結構中,根結點在第l層,同一層上所有子結點都在下一層,由系統(tǒng)總體結構圖可知,這棵樹共3層。在樹結構中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。36、下列關于二叉樹的敘述中,正確的是()。A、葉子結點總是比度為2的結點少一個B、葉子結點總是比度為2的結點多一個C、葉子結點數(shù)是度為2的結點數(shù)的兩倍D、度為2的結點數(shù)是度為1的結點數(shù)的兩倍標準答案:B知識點解析:由二叉樹的性質可以知道在二叉樹中葉子結點總是比度為2的結點多一個。國家二級公共基礎知識(數(shù)據(jù)結構與算法)模擬試卷第4套一、單項選擇題(本題共35題,每題1.0分,共35分。)1、下列與隊列結構有關聯(lián)的是A、函數(shù)的遞歸調用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務的作業(yè)調度標準答案:D知識點解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。2、下列敘述中正確的是A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標準答案:A知識點解析:所謂循環(huán)結構就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。3、下列關于線性鏈表的敘述中,正確的是A、各數(shù)據(jù)結點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進行插入與刪除時,不需要移動表中的元素D、以上都不正確標準答案:C知識點解析:線性表的鏈式存儲結構稱為線性鏈表。在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。4、下列敘述中正確的是A、線性表鏈式存儲結構的存儲空間一般要少于順序存儲結構B、線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續(xù)的C、線性表鏈式存儲結構的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標準答案:C知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。5、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空問是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、以上都不正確標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域:另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。6、下列敘述中正確的是A、線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B、線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C、線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D、上述三種說法都不對標準答案:B知識點解析:線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈式存儲的方式中,將存儲空間的每一個存儲結點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域:另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間要大一些。7、下列對于線性鏈表的描述中正確的是A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標準答案:A知識點解析:一般來說,在線性表的鏈式存儲結構中,各數(shù)據(jù)結點的存儲序號是不連續(xù)的,并且各結點在存儲空間中的位置關系與邏輯關系也不一致。在線性鏈中,各數(shù)據(jù)元素之間的前后件關系是由各結點的指針域來指示的,指向線性表中第一個結點的指針head稱為頭指針,當head=NuLL(或0)時稱為空表。8、下列敘述中正確的是A、順序存儲結構的存儲一定是連續(xù)的,鏈式存儲結構的存儲空間不一定是連續(xù)的B、順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C、順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表D、鏈式存儲結構比順序存儲結構節(jié)省存儲空間標準答案:A知識點解析:順序存儲方式主要用于線性的數(shù)據(jù)結構,它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結點之間的關系由存儲單元的鄰接關系來體現(xiàn)。而鏈式存儲結構的存儲空間不一定是連續(xù)的。9、下列鏈表中,其邏輯結構屬于非線性結構的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標準答案:A知識點解析:二叉鏈表作為樹的存儲結構。鏈表中結點的兩個鏈域分別指向該結點的第一個孩子結點和下一個兄弟結點。10、下列敘述中正確的是A、有一個以上根結點的數(shù)據(jù)結構不一定是非線性結構B、只有一個根結點的數(shù)據(jù)結構不一定是線性結構C、循環(huán)鏈表是非線性結構D、雙向鏈表是非線性結構標準答案:B知識點解析:住數(shù)據(jù)結構中,樹這類的的數(shù)據(jù)結構只有一個根結點,但它不是線性結構。11、某系統(tǒng)總體結構圖如下圖所示:該系統(tǒng)總體結構圖的深度是A、7B、6C、3D、2標準答案:C知識點解析:這個系統(tǒng)總體結構圖是一棵樹結構,在樹結構中,根結點在第1層,同一層上所有子結點都在下一層,由系統(tǒng)總體結構圖可知,這棵樹共3層。在樹結構中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。12、下列關于二叉樹的敘述中,正確的是A、葉子結點總是比度為2的結點少一個B、葉子結點總是比度為2的結點多一個C、葉子結點數(shù)是度為2的結點數(shù)的兩倍D、度為2的結點數(shù)是度為1的結點數(shù)的兩倍標準答案:B知識點解析:由二叉樹的性質可以知道在二叉樹中葉子結點總是比度為2的結點多一個。13、某二叉樹中有n個度為2的結點,則該二叉樹中的葉子結點數(shù)為A、n+1B、n一1C、2nD、n/2標準答案:A知識點解析:在任意一棵二又樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。所以該二叉樹的葉子結點數(shù)等于n+1。14、某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數(shù)是A、10B、8C、6D、4標準答案:C知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。15、一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數(shù)為A、16B、10C、6D、4標準答案:A知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故此度為1的結點個數(shù)=總結點數(shù)一葉子節(jié)點數(shù)一度為2的節(jié)點數(shù)=25.5—4=16。16、一棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、229C、230D、231標準答案:B知識點解析:根據(jù)二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故總結點數(shù)=葉子節(jié)點數(shù)+度為2的節(jié)點數(shù)+度為1的節(jié)點數(shù)=80+79+70=229。17、一棵二叉樹中共有70個葉子結點與80個度為1的結點,則該二叉樹中的總結點數(shù)為A、219B、221C、229D、231標準答案:A知識點解析:在二叉樹中,葉子結點個數(shù)為n0,則度為2的結點數(shù)n2=n0一1。本題中葉子結點的個數(shù)為70,所以度為2的結點個數(shù)為69,因而總結點數(shù)=葉子結點數(shù)+度為1的結點數(shù)+度為2的結點數(shù)=70+80+69=219。18、某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A、3B、4C、6D、7標準答案:D知識點解析:根據(jù)二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為7層,每層只有一個結點。19、某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)A、3B、6C、8D、12標準答案:D知識點解析:根據(jù)二叉樹的性質,度為0的結點(即葉子結點)總是比度為2的結點多一個。題目中的二叉樹的葉子結點為1,因此度為2的結點的數(shù)目為0,故該二叉樹為12層,每層只有一個結點。20、設樹T的深度為4,其中度為1,2,3,4的結點個數(shù)分別為4,2,1,1。則T中的葉子結點數(shù)為A、8B、7C、6D、5標準答案:B知識點解析:深度為m二叉樹其總結點數(shù)為2m-1=24-1=15??偨Y點數(shù)減去度為1,2,3,4的結點個數(shù)就是葉子結點數(shù)。15—4-2—1—1=7。21、設一棵完全二叉樹共有700個結點,則此二叉樹中的葉子結點數(shù)為A、85B、120C、250D、350標準答案:D知識點解析:①具有n個結點的完全二叉樹的深度為[long2n]+1,計算出該完全二叉樹的深度為10。②設度為0的結點(即葉子結點)為n0,度為1的結點為n1,度為2的結點為n2,總結點數(shù)為n,深度為k。n=n1+n2+n0,由于n0=n2+1則n2=n0—1,故n=n1+n0-1+n0=n1+2n0一1。由于完全二叉樹中度為1的結點數(shù)只有兩種可能:0或1。③假設度為1的結點數(shù)為0即滿二叉樹,根據(jù)滿二叉樹的定義,其2m一1個結點,根據(jù)以上計算所得的深度10來計算,應有210-1=1024—1=1023個結點,顯然與題目中700個結點不符。因此,度為1的結點數(shù)必然為1。故n=n1+2n0-1=1+2n0-1=2n0,則n0=n/2=700/2=350。22、在深度為7的滿二叉樹中,葉子結點的個數(shù)為A、32B、31C、64D、63標準答案:C知識點解析:所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結點都有兩個子結點。也就是在滿二叉樹中,每一層上的結點數(shù)都是雖大結點數(shù),即在滿二叉樹的第k層上有2k-1個結點,且深度為m的滿二叉樹有2m-1個結點。對于深度為7的滿二叉樹,葉子結點所在的是第7層,一共有27-1=64個葉子結點。全部結點共27-1=127個。23、對下列二叉樹進行前序遍歷的結果是A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ標準答案:C知識點解析:二叉樹前序遍歷的簡單描述:若二叉樹為空,則結束返回;否則:①訪問根結點:②前序遍歷左子樹:③前序遍歷右子樹??梢?,前序遍歷二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結構可知前序遍歷的結果是ABDYECFXZ。24、對如下二叉樹進行后序遍歷的結果為A、ABCDEFB、DBEAFCC、ABDECFD、DEBFCA標準答案:D知識點解析:所謂后序遍歷是指在訪問根據(jù)結點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。其簡單描述為:若二叉樹為空,則結束返回;否則,先后序遍歷左子樹,然后后序遍歷右子樹,最后訪問根結點。對于后序遍歷,第一個訪問的結點一定是最左下的結點,最后一個訪問的結點一定是根結點,所以選項D)為正確答案。25、對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為A、log2nB、n/2C、nD、n+1標準答案:C知識點解析:在進行順序查找過程中,如果被查的元素是線性表中的最后一個元素,或者被查元素根本不在線性表中,則為了查找這個元素需要與線性表中的所有元素進行比較,這是順序查找的最壞情況,需要比較的次數(shù)為n次。26、在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A、63B、64C、6D、7標準答案:B知識點解析:順序查找又稱順序搜索。順序查找一般是指在線性表中查找指定的元素,其基本方法是:從線性表的第一元素開始,依次將線性表中的元素與被查找的元素進行比較,若相等則表示找到(即查找成功),若線性表中所有元素都與被查元素進行了比較但都不相等,則表示線性表中沒有要找的元素(即查找失敗)。如果線性表中的第一個元素就是要查找的元素,則只需要做一次比較就查找成功;但如果要查找的元素是線性表中的最后一個元素,或者要查找元素不在線性表中,則需要與線性表中所有元素進行比較,這是順序查找的最壞情況,比較次數(shù)為線性表的長度。27、下列敘述中正確的是A、對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D、對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)標準答案:A知識點解析:本題主要考查的知識點為查找技術。順序查找的使用情況:①線性表為無序表;②表采用鏈式存儲結構。二分法查找只適用于順序存儲的有序表,并不適用于線性鏈表。28、在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數(shù)是A、O(n)B、O(n4)C、O(log2n)D、O(nlog2n)標準答案:C知識點解析:對于長度為n的有序線性表,在最壞情況下,二分法查找只需比較log2n次,而順序查找需要比較n次。29、下列數(shù)據(jù)結構中,能用二分法進行查找的是A、順序存儲的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表標準答案:A知識點解析:二分法查找只適應于順序存儲的有序表。有序表是指線性表中的元素按值非遞減排序(即從小到大,但允許相鄰元素值相等)的表。30、冒泡排序在最壞情況下的比較次數(shù)是A、n(n+1)/2B、nlog2nC、n(n—1)/2D、n/2標準答案:C知識點解析:對n個結點的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n一1)/2。31、對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為A、9B、10C、45D、90標準答案:C知識點解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n—1)/2。32、對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數(shù)中正確的是A、冒泡排序為n/2B、冒泡排序為nC、快速排序為nD、快速排序為n(n一1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n—1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。33、對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為A、nB、n一1C、n(n一1)D、n(n一1)/2標準答案:D知識點解析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n一1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。34、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序C、直接插入排序D、堆排序標準答案:D知識點解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序O(n1.5)、簡單選擇排序n(n一1)/2、堆排序O(nlog2n)。35、下列排序方法中,最壞情況下比較次數(shù)最少的是A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標準答案:D知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n一1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。國家二級公共基礎知識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同內腳手架
- 啤酒銷售合同書
- 農村住房安全保障工程實施指南
- 網(wǎng)站維護與SEO優(yōu)化作業(yè)指導書
- 投資理財與風險防范作業(yè)指導書
- 2025年甘肅貨運從業(yè)資格證題目答案
- 2025年三明道路貨運駕駛員從業(yè)資格證考試題庫完整
- 2025年貨車從業(yè)資格證答題軟件
- 2024-2025學年四年級語文上冊第二單元明月4走月亮作業(yè)設計北師大版
- 個人前臺自我總結
- 學前比較教育第二版全套教學課件
- 操作工考核評分表
- 俄羅斯水資源現(xiàn)狀分析
- 非法捕撈水產品罪
- 新概念第一冊單詞匯總帶音標EXCEL版
- 作用于血液及造血器官的藥 作用于血液系統(tǒng)藥物
- 春節(jié)節(jié)后施工復工安全培訓
- GB/T 3478.1-1995圓柱直齒漸開線花鍵模數(shù)基本齒廓公差
- GB/T 1346-2001水泥標準稠度用水量、凝結時間、安定性檢驗方法
- FZ/T 25001-2012工業(yè)用毛氈
- 中國工運史知識競答附答案
評論
0/150
提交評論