


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、全國計算機等級考試二級公共基礎(chǔ)知識考題庫第一章數(shù)據(jù)結(jié)構(gòu)一、選擇題(1)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是A)順序存儲的有序線性表B )線性鏈表C)二叉鏈表D)有序線性鏈表【答案】A【解析】二分查找只適用于順序存儲的有序表。在此所說的有序表是指線性表中的元素按值非遞減排列(即從小到大但允許相鄰元素值相等)的。選項A正確。(2)下列關(guān)于棧的描述正確的是A)在棧中只能插入元素而不能刪除元素B)在棧中只能刪除元素而不能插入元素C)棧是特殊的線性表,只能在一端插入或刪除元素D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素【答案】C【解析】棧是一種特殊的線性表,其插入與刪除運算都只在線性表
2、的一端進行。由此可見,選項A、選項B和選項D錯誤,正確答案是選項 Co(3)下列敘述中正確的是A)一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)B )數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)C)一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率D)一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率【答案】D【解析】一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等存儲結(jié)構(gòu)。而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。由此可見,選項D的說法正確。(4)算法執(zhí)行過程中所需要的存儲空間稱為算法的A)時間復(fù)雜度B)計算
3、工作量C)空間復(fù)雜度D)工作空間【答案】c【解析】算法執(zhí)行時所需要的存儲空間,包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。這些存儲空間共稱為算法的空間復(fù)雜度。下列關(guān)于隊列的敘述中正確的是A)在隊列中只能插入數(shù)據(jù) B)在隊列中只能刪除數(shù)據(jù)C)隊列是先進先出的線性表 D)隊列是先進后出的線性表【答案】c1文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯歡迎下載支持文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯歡迎下載支持【解析】對隊列可以進行插入和刪除數(shù)據(jù)的操作,只是插入數(shù)據(jù)
4、只能在隊尾,刪除數(shù)據(jù)只能在隊頭。所以 隊列是先進先出的線性表?!敬鸢浮緿【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷。其遍歷順序應(yīng)該為:后序遍歷左子樹一 后序遍歷右子樹一 訪問根結(jié)點。按照定義,后序遍歷序列是DBEFCA故答案為 D下列敘述中正確的是()A)程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C)程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上三種說法都不對【答案】A【解析】本題考查程序效率。程序效率是指程序運行速度和程序占用的存儲空間。影響程序效率的因素是多方面的,包括程序的設(shè)計、使用的算法、數(shù)據(jù)的存儲結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)
5、的基礎(chǔ)上,選擇一種 合適的存儲結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費的時間少,占用的存儲空間少,即提高程序的效率。因此,本 題選項A的說法是正確的。(8)下列敘述中正確的是()A)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B)由于計算機存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C)程序設(shè)計語言中的數(shù)組一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線線結(jié)構(gòu)D)以上三種說法都不對【答案】D【解析】本題考查數(shù)據(jù)結(jié)構(gòu)的基本知識。數(shù)據(jù)之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。通常分為四類基本邏輯結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié) 構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的
6、映象。存儲結(jié)構(gòu) 在計算機中有兩種,即順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)。順序存儲結(jié)構(gòu)是把數(shù)據(jù)元素存儲在一塊連續(xù)地址空間的內(nèi)存中;鏈式存儲結(jié)構(gòu)是使用指針把相互直接關(guān)聯(lián)的節(jié)點鏈接起來。因此,這兩種存儲結(jié)構(gòu)都是線性 的。可見,邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)不是一一對應(yīng)的。因此,選項A和選項B的說法都是錯誤的。無論數(shù)據(jù)的邏輯結(jié)構(gòu)是線性的還是非線性的,只能選擇順序存儲結(jié)構(gòu)或鏈式存儲結(jié)構(gòu)來實現(xiàn)存儲。程序設(shè)計語言中,數(shù)組是內(nèi)存中一段連續(xù)的地址空間,可看作是順序存儲結(jié)構(gòu)??梢杂脭?shù)組來實現(xiàn)樹型邏輯結(jié)構(gòu) 的存儲,比如二叉樹。因此,選項c的說法是錯誤的(9)冒泡排序在最壞情況下的比較次數(shù)是()A)n(n+1)/2 B)n log2n
7、C) n(n-1)/2 D)n/2【答案】C【解析】冒泡排序的基本思想是:將相鄰的兩個元素進行比較,如果反序,則交換;對于一個待排序的序 列,經(jīng)一趟排序后,最大值的元素移動到最后的位置,其他值較大的元素也向最終位置移動,此過程稱為 一趟冒泡。對于有 n個數(shù)據(jù)的序列,共需 n-1趟排序,第i趟對從I到n-i個數(shù)據(jù)進行比較、交換。冒泡 排序的最壞情況是待排序序列逆序,第I趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進行n-1趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+ +I,結(jié)果為n(n-1)/2 。本題的正確答案是選項c。(10)一棵二叉樹中共有
8、70個葉子結(jié)點與80個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為()A)219B)221C)229D)231【答案】A【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿足如下一條性質(zhì),即:對任意一棵二叉樹,若終端 結(jié)點(即葉子結(jié)點)數(shù)為no,而其度數(shù)為2的結(jié)點數(shù)為n2,貝U no= n 2+1。根據(jù)這條性質(zhì)可知,若二叉樹中有 70個葉子結(jié)點,則其度為 2的結(jié)點數(shù)為70-1,即69個。二叉樹的總 結(jié)點數(shù)是度為2、度為1和葉子結(jié)點的總和,因此, 題目中的二叉樹總結(jié)點數(shù)為 69+80+70,即219。因此, 本題的正確答案是選項 A。(11)下列敘述中正確的是()A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)
9、的存儲結(jié)構(gòu)無關(guān)B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)【答案】B【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中有關(guān)算法的基本知識和概念。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。而 數(shù)據(jù)結(jié)構(gòu)包括兩方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。因此,數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都影響算 法的效率。選項 A的說法是錯誤的。算法的時間復(fù)雜度是指算法在計算機內(nèi)執(zhí)行時所需時間的度量;與時 間復(fù)雜度類似,空間復(fù)雜度是指算法在計算機內(nèi)執(zhí)行時所需存儲空間的度量。因此,選項B的說法是正確的。數(shù)據(jù)之間的相互關(guān)系稱為邏輯結(jié)構(gòu)。通常分為四類基本邏輯結(jié)構(gòu),即集合、
10、線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖狀結(jié) 構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲結(jié)構(gòu) 在計算機中有兩種,即順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)??梢?,邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)不是對應(yīng)的。因此,選項c的說法是錯誤的。有時人們?yōu)榱颂岣咚惴ǖ臅r間復(fù)雜度,而以犧牲空間復(fù)雜度為代價。但是,這兩 者之間沒有必然的聯(lián)系。因此,選項D的說法是錯誤的。(12)下列關(guān)于算法的時間復(fù)雜度陳述正確的是A)算法的時間復(fù)雜度是指執(zhí)行算法程序所需要的時間B)算法的時間復(fù)雜度是指算法程序的長度C)算法的時間復(fù)雜度是指算法執(zhí)行過程中所需要的基本運算次數(shù)D)算法的時間復(fù)雜度是指算法程序中的指令條數(shù)【答案】C【
11、解析】算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,也就是算法在執(zhí)行過程中所執(zhí)行的基本運算的次數(shù),而不是指程序運行需要的時間或是程序的長度。(13) 下列關(guān)于棧的敘述中正確的是A) 在棧中只能插入數(shù)據(jù)B )在棧中只能刪除數(shù)據(jù)C)棧是先進先出的線性表D )棧是先進后出的線性表【答案】D【解析】對??蛇M行插入和刪除數(shù)據(jù)的操作,但必須牢記插入和刪除數(shù)據(jù)都只能是在棧頂,是一種特殊的 線性表。所以棧是先進后出的線性表。(14) 設(shè)有下列二叉樹:對此二叉樹中序遍歷的結(jié)果為A) ABCDEF B)DAECF C)BDAECF D)DBEFCA【答案】C【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。
12、本題要求中序遍歷,其遍歷順序應(yīng)該為:中 序遍歷左子樹-> 訪問根結(jié)點-> 中序遍歷右子樹。按照定義,中序遍歷序列是BDAECF故答案為B。(15) 按照“后進先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A) 隊列B )棧C)雙向鏈表D)二叉樹【答案】B【解析】“后進先出”表示最后被插入的元素最先能被刪除。選項A中,隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后 插入的元素將最后才能被刪除,隊列又稱為“先進先出”的線性表,它體現(xiàn)了 “先來先服務(wù)”的原則:選 項B中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧
13、底元素總是最先被插入的元 素,從而也是最后才能被刪除的元素。隊列和棧都屬于線性表,它們具有順序存儲的特點,所以才有“先 進先出”和“后進先出”的數(shù)據(jù)組織方式。雙向鏈表使用鏈式存儲方式.二叉樹也通常采用鏈式存儲方式, 它們的存儲數(shù)據(jù)的空間可以是不連續(xù)的,各個數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一 致。所以選項c和選項D錯。(16) 下列敘述中正確的是A) 線性鏈表是線性表的鏈式存儲結(jié)構(gòu)B) 棧與隊列是非線性結(jié)構(gòu)C) 雙向鏈表是非線性結(jié)構(gòu)D) 只有根結(jié)點的二叉樹是線性結(jié)構(gòu)【答案】A【解析】一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足下列兩個條件:(1)有且只有一個根結(jié)點;(2)每一個結(jié)點最多有一個前件,
14、也最多有一個后件。則稱為線性結(jié)構(gòu)。線性鏈表是線性表的鏈式存儲結(jié)構(gòu),選項A的說法是正確的。棧與隊列是特殊的線性表,它們也是線性結(jié)構(gòu),選項B的說法是錯誤的;雙向鏈表是線性表的鏈式存文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯歡迎下載支持 儲結(jié)構(gòu),其對應(yīng)的邏輯結(jié)構(gòu)也是線性結(jié)構(gòu),而不是非線性結(jié)構(gòu),選項c的說法是錯誤的;二叉樹是非線性結(jié)構(gòu),而不是線性結(jié)構(gòu),選項 D的說法是錯誤的。因此,本題的正確答案為A(17) 對如下二叉樹進行后序遍歷的結(jié)果為B)DBE,A) ABCDEFC)ABDECFD)DEBFCA C【答案】D1)后序遍歷左子樹;(2)【解析】二叉樹后序遍歷的簡單描述如下:若二叉樹為空,則結(jié)束
15、返回。否則(后序遍歷右子樹;(3) I訪問根結(jié)點。也就是說,后序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。根據(jù)后序遍歷的算法,后序遍歷的結(jié)果為DEBFCA(18) 下列對隊列的敘述正確的是 ()A) 隊列屬于非線性表B) 隊列按“先進后出”原則組織數(shù)據(jù)C) 隊列在隊尾刪除數(shù)據(jù)D) 隊列按“先進先出”原則組織數(shù)據(jù)【答案】D【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中隊列的基本知識。隊列是一種限定性的線性表,它只允許在表的一端插入元 素,而在另一端刪除元素,所以隊列具有先進先出的特
16、性。在隊列中,允許插入元素的一端叫做隊尾,允 許刪除的一端則稱為隊頭。這與日常生活中的排隊是一致的,最早進入隊列的人最早離開,新來的人總是 加入到隊尾。因此,本題中只有選項 D的說法是正確的。(19) 對下列二叉樹進行前序遍歷的結(jié)果為()A) DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D) ABCDEFXYZ【答案】C【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的遍歷。根據(jù)對二叉樹根的訪問先后順序不同,分別稱為前序遍歷、 中序遍歷和后序遍歷。這三種遍歷都是遞歸定義的,即在其子樹中也按照同樣的規(guī)律進行遍歷。下面就是 前序遍歷方法的遞歸定義。當二叉樹的根不為空時,依次執(zhí)行如下3個操作
17、:(1) 訪問根結(jié)點(2) 按先序遍歷左子樹(3) 按先序遍歷右子樹根據(jù)如上前序遍歷規(guī)則,來遍歷本題中的二叉樹。首先訪問根結(jié)點,即A,然后遍歷A的左子樹。遍歷左子樹同樣按照相同的規(guī)則首先訪問根結(jié)點B,然后遍歷B的左子樹。遍歷 B的左子樹,首先訪問 D,然后訪問D的左子樹,D的左子樹為空,接下來訪問D的右子樹,即Y。遍歷完B的左子樹后,再遍歷 B的右子 樹,即E。到此遍歷完 A的左子樹,接下來遍歷 A的右子樹。按照同樣的規(guī)則,首先訪問C,然后遍歷c的左子樹。即F。c的左子樹遍歷完,接著遍歷 c的右子樹。首先訪問右子樹的根結(jié)點X,然后訪問X的左子樹,X的左子樹,即 乙接下來訪問X的右子樹,右子樹為
18、空。到此,把題目的二叉樹進行了一次前 序遍歷。遍歷的結(jié)果為 ABDYECFXZ故本題的正確答案為選項G(20) 某二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為()A) n+1B) n-1C) 2n D) n/2【答案】A【解析】本題考查數(shù)據(jù)結(jié)構(gòu)中二叉樹的性質(zhì)。二叉樹滿足如下一條性質(zhì),即:對任意一棵二叉樹,若終端結(jié)點(即葉子結(jié)點)數(shù)為no,而其度數(shù)為2的結(jié)點數(shù)為n2,則no=n2+l。根據(jù)這條性質(zhì)可知,若二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為n+l。因此,本題的正確答案是選項 A。(21) 在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為A) 32B)31C) 64D 63【答
19、案】C【解析】在二叉樹的第 k層上,最多有2k-1 (k > 1)個結(jié)點。對于滿二叉樹來說,每一層上的結(jié)點數(shù)都達到 最大值,即在滿二叉樹的第k層上有2k-1個結(jié)點。因此,在深度為7的滿二叉樹中,所有葉子結(jié)點在第7層上即其結(jié)點數(shù)為 2k-1=27-1=64因此本題的正確答案為C。(22) 下列敘述中正確的是A) 個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B) 個算法的空間復(fù)雜度大,則期時間復(fù)雜度必定小C) 一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D) 上述三種說法都不對【答案】D【解析】時間復(fù)雜度是指一個算法執(zhí)行時間的相對度量;空間復(fù)雜度是指算法在運行過程中臨時占用所需存儲空間大小的
20、度量。人們都希望選擇一個既省存儲空間、又省執(zhí)行時間的算法。然而,有時為了加快算 法的運行速度,不得不增加空間開銷;有時為了能有效地存儲算法和數(shù)據(jù),又不得不犧牲運行時間。時間 和空間的效率往往是一對矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說時間復(fù)雜度和空 間復(fù)雜度之間雖然經(jīng)常矛盾。但是二者不存在必然的聯(lián)系。因此,選項A B c的說法都是錯誤的。故本題的正確答案是Do(23) 在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A) 63B) 64C) 6D) 7【答案】B【解析】在長度為64的有序線性表中,其中的64個數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序 的
21、。在這樣的線性表中進行順序查找,最壞的情況就是查找的數(shù)據(jù)元素不在線性表中或位于線性表的最后。按照線性表的順序查找算法,首先用被查找的數(shù)據(jù)和線性表的第一個數(shù)據(jù)元素進行比較。若相等,則查找 成功,否則,繼續(xù)進行比較,即和線性表的第二個數(shù)據(jù)元素進行比較。同樣,若相等,則查找成功,否則,繼續(xù)進行比較。依次類推,直到在線性表中查找到該數(shù)據(jù)或查找到線性表的最后一個元素,算法才結(jié)束。因此,在長度為64的有序線性表中進行順序查找,最壞的情況下需要比較64次。因此,本題的正確答案為Bo(24) 對下列二叉樹進行中序遍歷的結(jié)果是A) ACBDFEGB) ACBDFGEC) ABDCGEFD) FCADBEG【答案
22、】A【解析】二叉樹的中序遍歷遞歸算法為:按中序次序訪問右子樹。否D返回。本題中,根據(jù)中序遍歷算法應(yīng)首先按照中序次序訪問以 的左子樹,然E如果根不空,則 按中序次序訪問左子樹;(2)訪問根結(jié)點: c為根結(jié)點遵循中序遍歷算法,因此中序遍歷結(jié)果為遵循中序遍歷算法,因此中序遍歷結(jié)果為 果為ACBDFEG因此,本題的正確答案是艮結(jié)點F,最后才訪問以 E為根結(jié)點的右子樹。遍歷以c為根結(jié)點的左子樹同樣要ACBD然后遍歷根結(jié)點 F;遍歷以E為根結(jié)點的右子樹,同樣要EG最后把這三部分的遍歷結(jié)果按順序連接起來,中序遍歷結(jié)A。(25) 數(shù)據(jù)的存儲結(jié)構(gòu)是指 。B)數(shù)據(jù)所占的存儲空間量)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示A
23、) 存儲在外存中的數(shù)據(jù)C)數(shù)據(jù)在計算機中的順序存儲方式【答案】D【解析】數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。所 以選項D正確。(26) 下列關(guān)于棧的描述中錯誤的是 。A) 棧是先進后出的線性表B) 棧只能順序存儲C) 棧具有記憶作用D) 對棧的插入與刪除操作中,不需要改變棧底指針【答案】B【解析】本題考核棧的基本概念,我們可以通過排除法來確定本題的答案。棧是限定在一端進行插入與刪 除的線性表,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入 的元素,從而也是最后才能被刪除的元素,即棧是按照“先進后出”或“后進先出”的
24、原則組織數(shù)據(jù)的, 這便是棧的記憶作用,所以選項A和選項C正確。對棧進行插入和刪除操作時,棧頂位置是動態(tài)變化的,棧底指針不變,選項 D正確。由此可見,選項 B的描述錯誤。(27) 對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是A)冒泡排序為n/2B)冒泡排序為nC)快速排序為nD)快速排序為n(n-1)/2【答案】D【解析】假設(shè)線性表的長度為n,在最壞情況下,冒泡排序和快速排序需要的比較次數(shù)為n(n 1) / 2。由此可見,選項D正確。(28) 對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為 。A) Iog2nB) n/2C) nD) n+1【答案】C
25、【解析】在長度為 n的線性表中進行順序查找,最壞情況下需要比較n次。選項C正確。(29) 下列對于線性鏈表的描述中正確的是 。A) 存儲空間不一定是連續(xù),且各元素的存儲順序是任意的B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D)存儲空間必須連續(xù),且各元素的存儲順序是任意的【答案】A【解析】在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,數(shù)據(jù)元素之間的邏輯關(guān)系,是由指針域來確定的。由此可見,選項A的描述正確。(30)某二叉樹中度為 2的結(jié)點有18個,則該二叉樹中有一 _
26、個葉子結(jié)點?!敬鸢浮?9【解析】二叉樹具有如下性質(zhì):在任意一棵二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。根據(jù)題意,度為 2的節(jié)點為18個,那么,葉子結(jié)點就應(yīng)當是19個。(1)線性表若米用鏈式存儲結(jié)構(gòu)時,要求內(nèi)存中可用存儲單兀的地址A)必須是連續(xù)的B)部分地址必須是連續(xù)的C)一定是不連續(xù)的D)連續(xù)不連續(xù)都可以解析: 在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連續(xù)的,各數(shù)據(jù)結(jié)點的 存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。故本題答案應(yīng)該為選項D)(2)在待排序的兀素序列基本有序的前提下,效率最高的排序方法是A)冒泡排序B)選擇排序C)快速排序D)歸并排序
27、解析: 從平均時間性能而言,快速排序最佳,其所需時間最少,但快速排序在最壞情況下的時間性能不 如堆排序和歸并排序。 當序列中的記錄基本有序或兀素個數(shù)較少時,冒泡排序和簡單選擇排序為最佳排序方法,故本題答案應(yīng)該為選項A)。(3)下列敘述中,錯誤的是A)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)B)數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)C)數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的D)種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)解析:一般來說,一種數(shù)據(jù)結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu)。常用的存儲結(jié)構(gòu)有順序、鏈接、索 引等,而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的;一個數(shù)據(jù)結(jié)構(gòu)中的各數(shù)據(jù)元素在計算機存儲
28、 空間中的位置關(guān)系與邏輯關(guān)系是有可能不同的。故本題答案應(yīng)該為選項B)。(4)希爾排序?qū)儆贏)交換排序B)歸并排序C)選擇排序D)插入排序文檔來源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持 解析: 希爾排序的基本思想是把記錄按下標的一定增量分組,對每組記錄使用插入排序,隨增量的逐漸 減小,所分成的組包含的記錄越來越多, 到增量的值減小到 1 時,整個數(shù)據(jù)合成一組, 構(gòu)成一組有序記錄, 故其屬于插入排序方法。故本題答案應(yīng)該為選項D)。(1)棧和隊列的共同特點是A)都是先進先出B)都是先進后出C)只允許在端點處插入和刪除元素D)沒有共同點解析:棧和隊列都是一種特殊的操作受限的線性表
29、,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧 只允許在表的一端進行插入或刪除操作,是一種“后進先出”的線性表;而隊列只允許在表的一端進行插 入操作,在另一端進行刪除操作,是一種“先進先出”的線性表。故本題答案應(yīng)該為選項C)。(2)已知二叉樹后序遍歷序列是 dabec,中序遍歷序列是 debac,它的前序遍歷序列是A)acbedB)decabC)deabcD)cedba解析: 依據(jù)后序遍歷序列可確定根結(jié)點為 c;再依據(jù)中序遍歷序列可知其左子樹由 deba構(gòu)成,右子樹為 空;又由左子樹的后序遍歷序列可知其根結(jié)點為 e,由中序遍歷序列可知其左子樹為 d,右子樹由ba構(gòu)成, 如下圖所示。求得該二叉
30、樹的前序遍歷序列為選項 D)。( 3)鏈表不具有的特點是A)不必事先估計存儲空間B)可隨機訪問任一元素C)插入刪除不需要移動元素D)所需空間與線性表長度成正比解析: 鏈表采用的是鏈式存儲結(jié)構(gòu),它克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放; 它的數(shù)據(jù)元素的邏輯次序靠結(jié)點的指針來指示,不需要移動數(shù)據(jù)元素。但是鏈式存儲結(jié)構(gòu)也有不足之處: 每個結(jié)點中的指針域需額外占用存儲空間; 鏈式存儲結(jié)構(gòu)是一種非隨機存儲結(jié)構(gòu)。 故本題答案應(yīng)該 為選項 D)。( 6)算法的時間復(fù)雜度是指A)執(zhí)行算法程序所需要的時間B)算法程序的長度C)算法執(zhí)行過程中所需要的基本運算次數(shù)D)算法程序中的指令條數(shù)解析: 算
31、法的復(fù)雜度主要包括算法的時間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時間復(fù)雜度是指執(zhí)行 算法所需要的計算工作量; 算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間。 故本題答案應(yīng)該 為選項 A)。(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCF和 DBGEACHF則該二叉樹的后序遍歷為A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG解析:利用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下:前序遍歷的第一個結(jié)點 A為樹的根結(jié)點;中序遍歷中A的左邊的結(jié)點為 A的左子樹,A右邊的結(jié)點為A的右子樹; 再分別對A的左右子樹進行上述兩步處理,直到每個結(jié)點都
32、找到正確的位置。故本題答案應(yīng)該為選項B)。(2)樹是結(jié)點的集合,它的根結(jié)點數(shù)目是A)有且只有1B)1或多于1C)0 或 1D)至少2解析: 樹是一個或多個結(jié)點組成的有限集合,其中一個特定的結(jié)點稱為根,其余結(jié)點分為若干個不相交的集合。每個集合同時又是一棵樹。樹有且只有1個根結(jié)點。故本題答案應(yīng)該為選項A)。(3)如果進棧序列為 e1,e2,e3,e4 ,則可能的出棧序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意順序解析: 由?!焙筮M先出”的特點可知:A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1不可 能比e2先出,D)中棧是先進后出的,
33、所以不可能是任意順序。B)中出棧過程如圖所示:故本題答案應(yīng)該為選項 B)。(4)在設(shè)計程序時,應(yīng)采納的原則之一是A)不限制goto語句的使用B)減少或取消注解行C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解解析:濫用goto語句將使程序流程無規(guī)律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應(yīng)減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選。故本題答案應(yīng)該為選項D)。(5)程序設(shè)計語言的基本成分是數(shù)據(jù)成分、運算成分、控制成分和A)對象成分B)變量成分C)語句成分D)傳輸成分解析: 程序設(shè)計語言是用于書寫計算機程序的語言,其基本成分有以下 4 種,數(shù)據(jù)成分:
34、用來描述程序 中的數(shù)據(jù)。運算成分:描述程序中所需的運算??刂瞥煞郑河脕順?gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定 義數(shù)據(jù)傳輸成分,如輸入輸出語言。故本題答案應(yīng)該為選項D)。( 1)循環(huán)鏈表的主要優(yōu)點是A)不再需要頭指針了B)從表中任一結(jié)點出發(fā)都能訪問到整個鏈表C)在進行插入、刪除運算時,能更好的保證鏈表不斷開D)已知某個結(jié)點的位置后,能夠容易的找到它的直接前件解析: 循環(huán)鏈表就是將單向鏈表中最后一個結(jié)點的指針指向頭結(jié)點,使整個鏈表構(gòu)成一個環(huán)形,這樣的 結(jié)構(gòu)使得從表中的任一結(jié)點出發(fā)都能訪問到整個鏈表。故本題答案應(yīng)該為選項B)。(2) 棧底至棧頂依次存放元素 A、B C D,在第五個元素 E入棧前,棧中
35、元素可以出棧,則出棧序列可 能是A)ABCEDB)DCBEAC)DBCEAD)CDABE解析: 棧操作原則上“后進先出”,棧底至棧頂依次存放元素 A B C D,則表明這4個元素中D是最 后進棧,B、C處于中間,A最早進棧。所以出棧時一定是先出D,再出C,最后出A。故本題答案應(yīng)該為選項 B)。(3) 對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為 。A)N+1B)NC)(N+1)/2D)N/2解析: 答案 B ,很簡單,我們的二級程序設(shè)計語言書中都有此算法,另外還要掌握二分法查找,這也是我們二級中??嫉?。那么二分法最壞的情況為多少次呢?Iog2 n的最小整數(shù)值。比如 n為4,最
36、壞的情況要比較3次;n為18,最壞的情況要比較 5次。( 1 )下列敘述中正確的是A)線性表是線性結(jié)構(gòu)B)棧與隊列是非線性結(jié)構(gòu)C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)解析: 線性表是一種線性結(jié)構(gòu),數(shù)據(jù)元素在線性表中的位置只取決于它們自己的序號,即數(shù)據(jù)元素之間 的相對位置是線性的;棧、隊列、線性鏈表實際上也是線性表,故也是線性結(jié)構(gòu);樹是一種簡單的非線性 結(jié)構(gòu)。故本題答案應(yīng)該為選項 A)。(2)非空的循環(huán)單鏈表 head 的尾結(jié)點(由 p 所指向),滿足A)p->next=NULLB)p=NULLC)p->next=headD)p=head解析: 循環(huán)鏈表就是將鏈表的最后一個結(jié)點指
37、向鏈表頭結(jié)點(或第一個結(jié)點) ,即 p->next=head 。故本 題答案應(yīng)該為選項 C)。(3)已知數(shù)據(jù)表 A中每個元素距其最終位置不遠,為節(jié)省時間,應(yīng)采用的算法是A)堆排序B)直接插入排序C)快速排序D)直接選擇排序解析: 當數(shù)據(jù)表 A 中每個元素距其最終位置不遠,說明數(shù)據(jù)表 A 按關(guān)鍵字值基本有序,在待排序序列基 本有序的情況下,采用插入排序所用時間最少,故答案為選項B)。(1)假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為A)log2 nB)n2C)O(n1.5 )D)n( n-1 ) /2解析:假設(shè)線性表的長度為 n,則在最壞情況下,冒泡排序要經(jīng)過n/2遍的從
38、前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為 n(n-1 ) /2 。故本題答案應(yīng)該為選項D)。( 2)算法分析的目的是A)找出數(shù)據(jù)結(jié)構(gòu)的合理性B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和可靠性D)分析算法的效率以求改進解析: 算法分析是指對一個算法的運行時間和占用空間做定量的分析,一般計算出相應(yīng)的數(shù)量級,常用 時間復(fù)雜度和空間復(fù)雜度表示。 分析算法的目的就是要降低算法的時間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率。故本題答案應(yīng)該為選項D)。(3)線性表L= ( a1,a2,a3,ai,an),下列說法正確的是A)每個元素都有一個直接前件和直接后件B)線性表中至少要有一個
39、元素C)表中諸元素的排列順序必須是由小到大或由大到小D)除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件解析: 線性表可以為空表;第一個元素沒有直接前件,最后一個元素沒有直接后件;線性表的定義中, 元素的排列并沒有規(guī)定大小順序。故本題答案應(yīng)該為選項D)。( 4)在單鏈表中,增加頭結(jié)點的目的是A)方便運算的實現(xiàn)B)使單鏈表至少有一個結(jié)點C)標識表結(jié)點中首結(jié)點的位置D)說明單鏈表是線性表的鏈式存儲實現(xiàn)解析: 頭結(jié)點不僅標識了表中首結(jié)點的位置,而且根據(jù)單鏈表(包含頭結(jié)點)的結(jié)構(gòu),只要掌握了表頭, 就能夠訪問整個鏈表,因此增加頭結(jié)點目的是為了便于運算的實現(xiàn)。故本題答案應(yīng)該
40、為選項A)。(1)算法的空間復(fù)雜度是指A)算法程序的長度B)算法程序中的指令條數(shù)C)算法程序所占的存儲空間D)執(zhí)行過程中所需要的存儲空間解析: 算法的復(fù)雜度主要包括算法的時間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量; 算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間。 故本題答案應(yīng)該 為選項 D)。(2)用鏈表表示線性表的優(yōu)點是A)便于隨機存取B)花費的存儲空間較順序存儲少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順序相同解析: 鏈式存儲結(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的 邏輯次序靠結(jié)點的指針來指示,不需
41、要移動數(shù)據(jù)元素。故鏈式存儲結(jié)構(gòu)下的線性表便于插入和刪除操作。 故本題答案應(yīng)該為選項 C)。(3)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的A)存儲結(jié)構(gòu)B)物理結(jié)構(gòu)C)邏輯結(jié)構(gòu)D)物理和存儲結(jié)構(gòu)解析: 數(shù)據(jù)結(jié)構(gòu)概念一般包括 3 個方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及數(shù)據(jù)上的運算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象的反映數(shù)據(jù)元素之間的邏輯關(guān)系, 而不管它在計算機中的存儲表示形式。 故本題答案應(yīng) 該為選項 C)。(1)由兩個棧共享一個存儲空間的好處是A)減少存取時間,降低下溢發(fā)生的機率B)節(jié)省存儲空間,降低上溢發(fā)生的機率C)減少存取時間,降低上溢發(fā)生的機率D)節(jié)省存儲空間,降低下溢發(fā)生的機率解析: 常常一個
42、程序中要用到多個棧,為了不發(fā)生上溢錯誤,就必須給每個棧分配一個足夠大的存儲空 間。但實際中,很難準確地估計,若每個棧都分配過大的存儲空間,勢必造成系統(tǒng)空間緊張;若讓多個棧 共用一個足夠大的連續(xù)存儲空間, 則可利用棧的動態(tài)特性使他們的存儲空間互補。 故本題答案應(yīng)該為選項B)。(2)設(shè)有兩個串p和q,求q在p中首次出現(xiàn)位置的運算稱作A)連接B)模式匹配C)求子串D)求串長解析: 子串的定位操作通常稱作串的模式匹配,是各種串處理系統(tǒng)中最重要的操作之一,算法的基本思 想是:從主串的開始字符起和模式的第一個字符比較,若相等則繼續(xù)比較后續(xù)字符,否則從主串的下一個 字符起再重新和模式的字符比較, 依次類推,
43、 直至模式中的每一個字符依次和主串中的一個連續(xù)的字符序 列相等,稱匹配成功,否則稱匹配不成功。( 3)下列關(guān)于隊列的敘述中正確的是 。A. 在隊列中只能插入數(shù)據(jù)B. 在隊列中只能刪除數(shù)據(jù)C. 隊列是先進先出的線性表D. 隊列是先進后出的線性表解析: C隊列是先進先出的,棧是先進后出的, 2 者的區(qū)別一定要搞清楚。(1) 算法的空間復(fù)雜度是指A)算法程序的長度B)算法程序中的指令條數(shù)C)執(zhí)行算法程序所占的存儲空間D)算法執(zhí)行過程中所需要的存儲空間【答案】 D【解析】算法的空間復(fù)雜度一般是指這個算法執(zhí)行時所需要的內(nèi)存空間,其中包括算法程序所占的空間、 輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中
44、所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。(2)線性表的鏈式存儲結(jié)構(gòu)是一種A)隨機結(jié)構(gòu)B)順序結(jié)構(gòu)C)索引結(jié)構(gòu)D)散列結(jié)構(gòu)【答案】 B 【解析】線性表的鏈式存儲結(jié)構(gòu)中的每一個存儲結(jié)點不僅含有一個數(shù)據(jù)元素,還包括指針,每一個指針指 向一個與本結(jié)點有邏輯關(guān)系的結(jié)點。此類存儲方式屬于順序存儲。(3)設(shè)有下列二叉樹:對此二叉樹先序遍歷的結(jié)果是A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA【答案】 C 【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷;遍歷順序應(yīng)該為:訪問文檔來源為 :從網(wǎng)絡(luò)收集整理 .wo
45、rd 版本可編輯 .歡迎下載支持 . 根結(jié)點- 先序遍歷左子樹- 先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF( 1)算法分析的目的是 。A)找出數(shù)據(jù)結(jié)構(gòu)的合理性 B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和可靠性D)分析算法的效率以求改進答案: D 評析:算法分析是指對一個算法的運行時間和占用空間做定量的分析,一般計算出相應(yīng)的數(shù)量級,常用時 間復(fù)雜度和空間復(fù)雜度表示。 分析算法的目的就是要降低算法的時間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率。(3)已知數(shù)據(jù)表 A中每個元素距其最終位置不遠,為節(jié)省時間,應(yīng)采用的算法是。A)堆排序B)直接插入排序C)快速排序D)直接選擇排序答
46、案: B評析:當數(shù)據(jù)表 A中每個兀素距其最終位置不遠,說明數(shù)據(jù)表A按關(guān)鍵字值基本有序,在待排序序列基本有序的情況下,采用插入排序所用時間最少,故答案為選項B。( 4)用鏈表表示線性表的優(yōu)點是 。A)便于插入和刪除操作 B)數(shù)據(jù)元素的物理順序與邏輯順序相同C)花費的存儲空間較順序存儲少D)便于隨機存取答案: A 評析:鏈式存儲結(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏 輯次序靠結(jié)點的指針來指示,不需要移動數(shù)據(jù)元素。故鏈式存儲結(jié)構(gòu)下的線性表便于插入和刪除操作。1. 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是 。A 、隊列 B 、線性表 C 、二叉樹 D 、棧解析: 線
47、性表、 棧和隊列等數(shù)據(jù)結(jié)構(gòu)所表達和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。棧是一種特殊的線性表,這種線性表只能在固定的一端進行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。 一個新元素只能從棧頂一端進入,刪除時,只能刪除棧頂?shù)脑?,即剛剛被插入的元素。所以棧又稱后進 先出表( Last In First Out );隊列可看作是插入在一端進行,刪除在另一端進行的線性表,允許插入 的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,只能刪除隊頭元素,隊列的最后一個元素一定是 最新入隊的元素。因此隊列又稱先進先出表( First In First Out )。本題答案為 C。5. 下列關(guān)于棧
48、的敘述中正確的是 。A、在棧中只能插入數(shù)據(jù)B、在棧中只能刪除數(shù)據(jù)C棧是先進先出的線性表D棧是先進后出的線性表解析: 棧是限定在一端進行插入與刪除的線性表。棧是按照 "先進后出 "的或后進先出的原則組織數(shù)據(jù)的, 因此, 棧也被稱為 "先進后出 "表或" 后進先出 " 表。本題答案是 D。7.對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為 。A、N+1B、NC、(N+1)/2D、N/2解析: 在進行順序查找過程中,如果線性表中被查的元素是線性表中的最后一個,或者被查元素根本不在 線性表中,則為了查找這個元素需要與線性表中所
49、有元素進行比較,這是順序查找最壞的情況。本題答案為 B。1. 在一棵二叉樹上第 5 層的結(jié)點數(shù)最多是 。A、8B、16C、32D、1516。解析:根據(jù)二叉樹的性質(zhì):二叉樹第i (i > 1)層上至多有2i-1個結(jié)點。得到第5層的結(jié)點數(shù)最多是本題答案為 B。3. 下列敘述中正確的是 。A、線性表是線性結(jié)構(gòu)B棧與隊列是非線性結(jié)構(gòu)C線性鏈表是非線性結(jié)構(gòu)D二叉樹是線性結(jié)構(gòu)解析 : 根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu) 與非線性結(jié)構(gòu)。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:( 1)有且只有一個根結(jié)點;( 2)每一個結(jié)點最多有 個前件,也最多有一個后
50、件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。本題答案是 A。7. 在下列選項中,哪個不是一個算法一般應(yīng)該具有的基本特征 。A、確定性B可行性C無窮性D擁有足夠的情報解析 : 作為一個算法,一般應(yīng)具有以下幾個基本特征。1) 可行性2) 確定性3) 有窮性4) 擁有足夠的情報本題答案為 C。5. 在計算機中,算法是指 。A、查詢方法B加工方法C解題方案的準確而完整的描述D排序方法文檔來源為 :從網(wǎng)絡(luò)收集整理 .word 版本可編輯 .歡迎下載支持 解析: 計算機算法是指解題方案的準確而完整的描述,它有以下幾個基本特征:可行性、確定性、
51、有窮性 和擁有足夠的情報。本題答案為 C。7. 在單鏈表中,增加頭結(jié)點的目的是 。A、方便運算的實現(xiàn)B使單鏈表至少有一個結(jié)點C標識表結(jié)點中首結(jié)點的位置D說明單鏈表是線性表的鏈式存儲實現(xiàn)解析: 頭結(jié)點不僅標識了表中首結(jié)點的位置,而且根據(jù)單鏈表(包含頭結(jié)點)的結(jié)構(gòu),只要掌握了表頭, 就能夠訪問整個鏈表,因此增加頭結(jié)點目的是為了便于運算的實現(xiàn)。本題答案為 A。1. 數(shù)據(jù)的存儲結(jié)構(gòu)是指 。A、存儲在外存中的數(shù)據(jù)B數(shù)據(jù)所占的存儲空間量C數(shù)據(jù)在計算機中的順序存儲方式D數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示解析 : 本題考查的是數(shù)據(jù)結(jié)構(gòu)的基本概念。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也
52、稱數(shù)據(jù)的物理結(jié)構(gòu))。故本題答案為 D。2. 下列關(guān)于棧的描述中錯誤的是 。A、棧是先進后出的線性表B棧只能順序存儲C棧具有記憶作用D對棧的插入與刪除操作中,不需要改變棧底指針解析: 本題考查的是棧和隊列。棧是一種特殊的線性表, 這種線性表只能在固定的一端進行插入和刪除操作, 允許插入和刪除的一端 稱為棧頂,另一端稱為棧底。一個新元素只能從棧頂一端進入,刪除時,只能刪除棧頂?shù)脑?,即剛剛?插入的元素。所以棧又稱先進后出表( FILO-First In Last Out )。線性表可以順序存儲,也可以鏈式存 儲,而棧是一種線性表,也可以采用鏈式存儲結(jié)構(gòu)。故本題答案為 B。3. 對于長度為 n 的
53、線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是A、冒泡排序為n/2B冒泡排序為nC快速排序為nD快速排序為n( n-1)/2解析: 本題考查的是基本排序算法。假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后掃描和n/2遍的從后往前掃描,需要比較次數(shù)為 n(n-1)/2 ??焖倥判蚍ǖ淖顗那闆r比較次數(shù)也是 n(n-1)/2故本題答案為 D。4. 對長度為 n 的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為 。A、 log2nB、n/2C、nD、n+1解析: 本題考查的是順序查找。在進行順序查找過程中, 如果線性表中的第一個元素就是被查找元素, 則只需做
54、一次比較就查找成功, 查找效率最高; 但如果被查找的元素是線性表中的最后一個元素, 或者被查找的元素根本就不在線性表中, 則為了查找這個元素需要與線性表中所有的元素進行比較, 這是順序查找的最壞情況。 所以對長度為 n 的 線性表進行順序查找,在最壞情況下需要比較n 次。故本題答案為 C。5. 下列對于線性鏈表的描述中正確的是 。A、存儲空間不一定是連續(xù),且各元素的存儲順序是任意的B存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D存儲空間必須連續(xù),且各元素的存儲順序是任意的解析: 本題考查的是線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及
55、其基本運算。在鏈式存儲結(jié)構(gòu)中, 存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù), 各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的 邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。故本題答案為 A。1. 算法的時間復(fù)雜度是指 。A、執(zhí)行算法程序所需要的時間B算法程序的長度C算法執(zhí)行過程中所需要的基本運算次數(shù)D算法程序中的指令條數(shù)解析: 所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。為了能夠比較客觀地反映出一個算法的效率, 在度量一個算法的工作量時, 不僅應(yīng)該與所使用的計算 機、程序設(shè)計語言以及程序編制者無關(guān),而且還應(yīng)該與算法實現(xiàn)過程中的許多細節(jié)無關(guān)。為此,可以用算 法在執(zhí)行過程中所需基本運算的執(zhí)行次數(shù)來度量算法的工作量。本題答案是 C。2. 下列敘述中正確的是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏電價合同范例
- 中介商業(yè)租賃合同范例
- 人防設(shè)施安裝合同范例
- 公司還款計劃合同范例
- 兄弟裝飾合同范例
- 農(nóng)民種地收租合同范本
- 出售照明廠房合同范例
- 任期考核合同范例
- 中建居間合同范例
- 養(yǎng)護服務(wù)合同范本
- 聘請常年法律顧問合同樣本7篇
- 2024年環(huán)北部灣廣西水資源配置有限公司招聘考試真題
- 2023-2024年演出經(jīng)紀人之演出經(jīng)紀實務(wù)考前沖刺模擬試卷附答案(研優(yōu)卷)
- 第16課《有為有不為 》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 2025年無錫職業(yè)技術(shù)學院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年北京戲曲藝術(shù)職業(yè)學院高職單招數(shù)學歷年(2016-2024)頻考點試題含答案解析
- 2025年青海西寧廣播電視臺招聘20人高頻重點提升(共500題)附帶答案詳解
- 2025年內(nèi)蒙古興安盟突泉縣選聘生態(tài)護林員450人歷年高頻重點提升(共500題)附帶答案詳解
- 胸腔閉式引流護理
- 2025年興湘集團全資子公司招聘筆試參考題庫含答案解析
- 蒙醫(yī)學中的推拿暖宮療法與婦科保健技巧
評論
0/150
提交評論