國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共246題)_第1頁
國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共246題)_第2頁
國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共246題)_第3頁
國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共246題)_第4頁
國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共246題)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷3(共8套)(共246題)國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷第1套一、單項選擇題(本題共27題,每題1.0分,共27分。)1、算法的有窮性是指A、算法程序的運(yùn)行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。2、下列敘述中正確的是A、算法就是程序B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C、設(shè)計算法時只需要考慮結(jié)果的可靠性D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計算方法。設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。3、算法的空間復(fù)雜度是指A、算法在執(zhí)行過程中所需要的計算機(jī)存儲空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。這個內(nèi)存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。4、算法的時間復(fù)雜度是指A、算法的執(zhí)行時間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的時間復(fù)雜度,是指執(zhí)行算法所需砭的計算工作量。算法的工作量可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量。5、下列敘述中正確的是A、算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D、算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法的工作量用算法所執(zhí)行的基本運(yùn)算的次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù);算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間。算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間的關(guān)系,是獨(dú)立于計算機(jī)的:數(shù)據(jù)的存儲結(jié)構(gòu)是研究數(shù)據(jù)元素和數(shù)據(jù)元素之間的關(guān)系如何在計算機(jī)中表示,它們并非一一對應(yīng)。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。6、下列敘述中正確的是A、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小C、一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空問復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運(yùn)算次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模:算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的仔儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。7、數(shù)據(jù)的存儲結(jié)構(gòu)是指A、存儲在外存中的數(shù)據(jù)B、數(shù)據(jù)所占的存儲空間量C、數(shù)據(jù)在計算機(jī)中的順序存儲方式D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即為數(shù)據(jù)的存儲結(jié)構(gòu)。8、下列描述中正確的是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ù)處理的效率標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系;數(shù)據(jù)的存儲結(jié)構(gòu)是在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示,一種邏輯結(jié)構(gòu)可以表示成多種存儲結(jié)構(gòu):而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。9、下列描述中正確的是A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。10、下列敘述中正確的是A、有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點(diǎn),但它不是線性結(jié)構(gòu)。11、下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A、循環(huán)隊列B、帶鏈隊列C、二叉樹D、帶鏈棧標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后性關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。12、下列描述中正確的是A、線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、雙向鏈表是非線性結(jié)構(gòu)D、只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的基本單位稱為存儲結(jié)點(diǎn),每個存儲結(jié)點(diǎn)包括數(shù)據(jù)域和指針域兩個組成部分。各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的,指向線性表中第‘結(jié)點(diǎn)的指針HEAD稱為頭指針,當(dāng)HEAD=NULL時稱為空表。棧、隊列和雙向鏈表是線性結(jié)構(gòu),樹是一種簡單的非線性結(jié)構(gòu)。在樹這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素的關(guān)系具有明顯的層次特征。二叉樹是仆線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個元素沒有關(guān)系,即使是空的二叉樹也是非線性結(jié)構(gòu)。13、下面敘述中正確的是A、線性表是線性結(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表是最簡單的、最常用的一種線性結(jié)構(gòu)。所謂線性鏈表指的是采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表。棧和隊列其實(shí)是一種特殊的線性表。樹是一種簡單的非線性結(jié)構(gòu),二叉樹是樹的一種。14、下列關(guān)于棧的敘述正確的是A、棧按“先進(jìn)先出”組織數(shù)據(jù)B、棧按“先進(jìn)后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入和刪除的線性表,允許進(jìn)行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的。15、支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A、棧B、樹C、隊列D、二叉樹標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是一種限定在一端進(jìn)行插入與刪除的線性表。在主函數(shù)調(diào)用子函數(shù)時,要首先保存主函數(shù)當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子函數(shù),把子函數(shù)的運(yùn)行結(jié)果返回到上函數(shù)調(diào)用子函數(shù)時的位置,主函數(shù)再接著往下執(zhí)行,這種過程符合棧的特點(diǎn)。所以一般采用棧式存儲方式。16、下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出"原則存取數(shù)據(jù)的是A、循環(huán)隊列B、棧C、隊列D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù):隊列是“先進(jìn)先出”(FIFO)或“后進(jìn)后出”(LILO)的線性表。17、下列關(guān)于棧敘述正確的是A、棧頂元素能最先被刪除B、棧頂元素最后才能被刪除C、棧底元素永遠(yuǎn)不能被刪除D、以上三種說法都不對標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是先進(jìn)后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪除。18、下列關(guān)于棧的敘述中,正確的是A、棧底元素一定是最后入棧的元素B、棧頂元素一定是最先入棧的元素C、棧操作遵循先進(jìn)后出的原則D、以上三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,必須按“后進(jìn)先出”的規(guī)則操作元素。19、下列敘述中正確的是A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化D、上述三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧跟隊列不同,元素只能在棧項壓入或彈出,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化,遵循后進(jìn)先出的規(guī)則。20、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是EDCBA54321。21、棧的初始狀態(tài)為空。現(xiàn)將元素1,2,3,A,B,C依次入棧,再依次出棧,則元素出棧的順序是A、1,2,3,A,B,CB、C,B,A,1,2,3C、C,B,A,3,2,1D、1,2,3,C,B,A標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是CBA321。22、下列關(guān)于棧的描述中錯誤的是A、棧是先進(jìn)后出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧頂(top):插入數(shù)據(jù)(即入棧)的一端;棧底(bottom):不能入棧也不能出棧的一端。棧存儲數(shù)據(jù)的原則:“先進(jìn)后出”或“后進(jìn)先出”。棧的特性是具有記憶作用。23、按照“后進(jìn)先出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A、隊列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素:棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(LastInFirstOut,簡稱LIFO)或“先進(jìn)后出”(FirstInLastOut,簡稱FILO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。24、下列對隊列的描述中正確的是A、隊列屬于非線性表B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列fqueue)是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除;反之,最后插入的元素將最后才能被刪除。因此,隊列又稱“先進(jìn)先出”或“后進(jìn)后出”的線性表。25、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表,二者均為線性結(jié)構(gòu)。26、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表。根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),又可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。27、下列關(guān)于棧的描述中正確的是A、在棧中只能插入元素而不能刪除元素B、在棧中只能刪除元素而不能插入元素C、棧是特殊的線性表,只能在一端插入或刪除元素D、棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表,在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷第2套一、單項選擇題(本題共34題,每題1.0分,共34分。)1、算法的有窮性是指A、算法程序的運(yùn)行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:葬法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。2、下列敘述中正確的是A、算法就是程序B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C、設(shè)計算法時只需要考慮結(jié)果的可靠性D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計算方法。設(shè)計算法時不儀要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。3、算法的空間復(fù)雜度是指A、算法在執(zhí)行過程中所需要的計算機(jī)存儲空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。這個內(nèi)存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。4、算法的時間復(fù)雜度是指A、算法的執(zhí)行時間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。算法的工作量可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量。5、下列敘述中正確的是A、算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D、算法的時間復(fù)雜度與空間復(fù)雜度一一定相關(guān)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。鋒法的工作量用算法所執(zhí)行的基本運(yùn)算的次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù);算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存宅間。算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間的關(guān)系,是獨(dú)立于計算機(jī)的:數(shù)據(jù)的存儲結(jié)構(gòu)是研究數(shù)據(jù)元素和數(shù)據(jù)元素之間的關(guān)系如何在計算機(jī)中表示,它們并非一一對應(yīng)。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。6、下列敘述中正確的是A、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B、一個算法的空問復(fù)雜度大,則其時間復(fù)雜度必定小C、一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算泫所執(zhí)行的基本運(yùn)算次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空問包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空問復(fù)雜度并不相關(guān)。7、數(shù)據(jù)的存儲結(jié)構(gòu)是指A、存儲在外存中的數(shù)據(jù)B、數(shù)據(jù)所占的存儲空間量C、數(shù)據(jù)存計算機(jī)中的順序存儲方式D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即為數(shù)據(jù)的存儲結(jié)構(gòu)。8、下列描述中正確的是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ù)處理的效率標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系:數(shù)據(jù)的存儲結(jié)構(gòu)是在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示,一種邏輯結(jié)構(gòu)可以表示成多種存儲結(jié)構(gòu);而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。9、下列描述中正確的是A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之問邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯鄉(xiāng)占構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。10、下列敘述中正確的是A、有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定足線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點(diǎn),但它不足線性結(jié)構(gòu)。11、下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A、循環(huán)隊列B、帶鏈隊列C、二叉樹D、帶鏈棧標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二又樹是非線性結(jié)構(gòu)。12、下列描述中正確的是A、線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、雙向鏈表是非線性結(jié)構(gòu)D、只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的基本單位稱為存儲結(jié)點(diǎn),每個存儲結(jié)點(diǎn)包括數(shù)據(jù)域和指針域兩個組成部分。各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的,指向線性表中第一結(jié)點(diǎn)的指針HEAD稱為頭指針,當(dāng)HEAD=NULL時稱為空表。棧、隊列和雙向鏈表是線性結(jié)構(gòu),樹是一種簡單的非線性結(jié)構(gòu)。住樹這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素的關(guān)系具有明顯的層次特征。二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個元素沒有關(guān)系,即使是空的二又樹也是非線性結(jié)構(gòu)。13、下面敘述中正確的是A、線性表是線性結(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表是最簡單的、最常用的一種線性結(jié)構(gòu)。所謂線性鏈表指的是采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表。棧和隊列其實(shí)是一種特殊的線性表。樹是一種簡單的非線性結(jié)構(gòu),二叉樹是樹的一種。14、下列關(guān)于棧的敘述正確的是A、棧按“先進(jìn)先出”組織數(shù)據(jù)B、棧按“先進(jìn)后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入和刪除的線性表,允許進(jìn)行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的。15、支持予程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A、棧B、樹C、隊列D、二叉樹標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是一一種限定在一端進(jìn)行插入與刪除的線性表。在主函數(shù)調(diào)用子函數(shù)時,要首先保存士函數(shù)當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子函數(shù),把子函數(shù)的運(yùn)行結(jié)果返回到主函數(shù)調(diào)用予函數(shù)時的位置,主函數(shù)再接著往下執(zhí)行,這種過程符合棧的特點(diǎn)。所以一般采用棧式存儲方式。16、下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是A、循環(huán)隊列B、棧C、隊列D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù);隊列是“先進(jìn)先出”(FIFO)或“后進(jìn)后出”(LILO)的線性表。17、下列關(guān)于棧敘述正確的是A、棧頂元素最先能被刪除B、棧頂元素最后才能被刪除C、棧底元素永遠(yuǎn)不能被刪除D、以上三種說法都不對標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是先進(jìn)后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪除。18、下列關(guān)于棧的敘述中,正確的是A、棧底元素一定是最后入棧的元素B、棧頂元素一定是最先入棧的元素C、棧操作遵循先進(jìn)后出的原則D、以上三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,必須按“后進(jìn)先出”的規(guī)則操作元素。19、下列敘述中正確的是A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化D、上述三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧跟隊列不同,元素只能在棧頂壓入或彈出,棧底指針不變,棧中元索隨棧頂指針的變化而動態(tài)變化,遵循后進(jìn)先出的規(guī)則。20、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是A、12345ABCDEB、EDCBA54321C、ABCDEl2345D、54321EDCBA標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是EDCBA54321。21、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1,2,3,A,B,C依次入棧,然后再依次出棧,則元素出棧的順序是A、1,2,3,A,B,CB、C,B,A,1,2,3C、C,B,A,3,2,1D、1,2,3,C,B,A標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是CBA321。22、下列關(guān)于棧的描述中錯誤的是A、棧是先進(jìn)后出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧頂(top):插入數(shù)據(jù)(即入棧)的一端;棧底(bottom):不能入棧也不能出棧的一端。棧存儲數(shù)據(jù)的原則:“先進(jìn)后出”或“后進(jìn)先出”。棧的特性是具有記憶作用。23、按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A、隊列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(LastInFirstOut,簡稱LIFO)或“先進(jìn)后出”(FirstInLastOut,簡稱FILO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。24、下列對隊列的描述中正確的是A、隊列屬于非線性表B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列(queue)是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除:反之,最后捅入的元素將最后才能被刪除。因此,隊列又稱“先進(jìn)先出”或“后進(jìn)后出”的線性表。25、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧足先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表,二者均為線性結(jié)構(gòu)。26、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表。根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩人類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),又可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。27、下列關(guān)于棧的描述中正確的是A、在棧中只能插入元素而不能刪除元素B、在棧中只能刪除元素而不能插入元素C、棧是特殊的線性表,只能在一端插入或刪除元素D、棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表,在棧中,允許捅入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。28、下列敘述中正確的是A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也足通過隊頭指針和隊尾指針來反映的。29、對于循環(huán)隊列,下列敘述中正確的是A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂循環(huán)隊列,就是將隊列存儲空問的最后一一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運(yùn)算和退隊運(yùn)算。每進(jìn)行一次入隊運(yùn)算,隊尾指針就進(jìn)一。每進(jìn)行一次退隊運(yùn)算,隊頭指針就進(jìn)一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。30、下列敘述中正確的是A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。31、設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運(yùn)算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列的隊頭指針和尾指針‘都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達(dá)15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達(dá)15,而尾指針第二次到達(dá)15,此時元素個數(shù)為35。32、在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為A、2B、3C、4D、5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當(dāng)有元素入隊時.rear=rear+1,而元素出隊的時候,front=front+1,當(dāng)rear值大于front值時,隊列中的元素個數(shù)為rear-front,當(dāng)rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。33、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、棧與隊列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。34、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是“先進(jìn)后出”,隊列“是先進(jìn)先出”。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表稱之為線性鏈表。國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷第3套一、單項選擇題(本題共29題,每題1.0分,共29分。)1、下列敘述中正確的是A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。2、設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運(yùn)算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達(dá)15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達(dá)15,而尾指針第二次到達(dá)15,此時元素個數(shù)為35。3、在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為A、2B、3C、4D、5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當(dāng)有元素入隊時,rear=rear+1,而元素出隊的時候,front=front+1,當(dāng)rear值大于front值時,隊列中的元素個數(shù)為rear-front,當(dāng)rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。4、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、棧與隊列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。5、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是“先進(jìn)后出”,隊列“是先進(jìn)先出”。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表稱之為線性鏈表。6、下列與隊列結(jié)構(gòu)有關(guān)聯(lián)的是A、函數(shù)的遞歸調(diào)用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務(wù)的作業(yè)調(diào)度標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。7、下列敘述中正確的是A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:所謂循環(huán)結(jié)構(gòu)就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針仔front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。8、下列關(guān)于線性鏈表的敘述中,正確的是A、各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進(jìn)行插入與刪除時,不需要移動表中的元素D、以上都不正確標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。9、下列敘述中正確的是A、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間一般要少于順序存儲結(jié)構(gòu)B、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)的存儲空間都是連續(xù)的C、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯ΑT陧樞虼鎯χ?,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域:另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。10、下列敘述中正確的是A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、以上都不正確標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。11、下列敘述中正確的是A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間~般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、上述三種說法都不對標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。12、下列對于線性鏈表的描述中正確的是A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:一般來說,在線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲序號是不連續(xù)的,并且各結(jié)點(diǎn)在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的,指向線性表中第一個結(jié)點(diǎn)的指針head稱為頭指針,當(dāng)head=NULL(或0)時稱為空表。13、下列敘述中正確的是A、順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的B、順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)C、順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表D、鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:順序存儲方式主要用于線性的數(shù)據(jù)結(jié)構(gòu),它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結(jié)點(diǎn)之間的關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。而鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的。14、下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:二叉鏈表作為樹的存儲結(jié)構(gòu)。鏈表中結(jié)點(diǎn)的兩個鏈域分別指向該結(jié)點(diǎn)的第一個孩子結(jié)點(diǎn)和下一個兄弟結(jié)點(diǎn)。15、下列敘述中正確的是A、有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點(diǎn),但它不是線性結(jié)構(gòu)。16、某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是A、7B、6C、3D、2標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:這個系統(tǒng)總體結(jié)構(gòu)圖是一棵樹結(jié)構(gòu),在樹結(jié)構(gòu)中,根結(jié)點(diǎn)在第1層,同一層上所有子結(jié)點(diǎn)都在下一層,由系統(tǒng)總體結(jié)構(gòu)圖可知,這棵樹共3層。在樹結(jié)構(gòu)中,樹的最大層次稱為樹的深度。所以這棵樹的深度為3。17、下列關(guān)于二叉樹的敘述中,正確的是A、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)少一個B、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個C、葉子結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)的兩倍D、度為2的結(jié)點(diǎn)數(shù)是度為1的結(jié)點(diǎn)數(shù)的兩倍標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:由二叉樹的性質(zhì)可以知道在二叉樹中葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個。18、某二叉樹中有n個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為A、n+1B、n-1C、2nD、n/2標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個。所以該二叉樹的葉子結(jié)點(diǎn)數(shù)等于n+1。19、某二叉樹有5個度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是A、10B、8C、6D、4標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個。20、一棵二叉樹共有25個結(jié)點(diǎn),其中5個是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為A、16B、10C、6D、4標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個,故此度為1的結(jié)點(diǎn)個數(shù)=總結(jié)點(diǎn)數(shù)一葉子節(jié)點(diǎn)數(shù).度為2的節(jié)點(diǎn)數(shù)=25.5-4=16。21、一棵二叉樹中共有80個葉子結(jié)點(diǎn)與70個度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為A、219B、229C、230D、231標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個,故總結(jié)點(diǎn)數(shù)=葉子節(jié)點(diǎn)數(shù)+度為2的節(jié)點(diǎn)數(shù)+度為1的節(jié)點(diǎn)數(shù)=80+79+70=229。22、一棵二叉樹中共有70個葉子結(jié)點(diǎn)與80個度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為A、219B、221C、229D、231標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:在二叉樹中,葉子結(jié)點(diǎn)個數(shù)為n0,則度為2結(jié)點(diǎn)數(shù)n2=n0-1。本題中葉子結(jié)點(diǎn)的個數(shù)為70,所以度為2的結(jié)點(diǎn)個數(shù)為69,因而總結(jié)點(diǎn)數(shù)=葉子結(jié)點(diǎn)數(shù)+度為1的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=70+80+69=219。23、某二叉樹共有7個結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)A、3B、4C、6D、7標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì),度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個。題目中的二叉樹的葉子結(jié)點(diǎn)為1,因此度為2的結(jié)點(diǎn)的數(shù)目為0,故該二叉樹為7層,每層只有一個結(jié)點(diǎn)。24、冒泡排序在最壞情況下的比較次數(shù)是A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:對n個結(jié)點(diǎn)的線性表采用冒泡排序,在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。25、對長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為A、9B、10C、45D、90標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n-1)/2。26、對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是A、冒泡排序?yàn)閚/2B、冒泡排序?yàn)閚C、快速排序?yàn)閚D、快速排序?yàn)閚(n-1)/2標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。27、對長度為n的線性表作快速排序,在最壞情況下,比較次數(shù)為A、nB、n-1C、n(n-1)D、n(n-1)/2標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2??焖倥判蚍ㄒ彩且环N互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。28、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序0(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)。29、下列排序方法中,最壞情況下比較次數(shù)最少的是A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n-1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷第4套一、單項選擇題(本題共35題,每題1.0分,共35分。)1、算法的有窮性是指A、算法程序的運(yùn)行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。2、下列敘述中正確的是A、算法就是程序B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C、設(shè)計算法時只需要考慮結(jié)果的可靠性D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計算方法。設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。3、算法的空間復(fù)雜度是指A、算法在執(zhí)行過程中所需要的計算機(jī)存儲空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。這個內(nèi)存空間包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。4、算法的時間復(fù)雜度是指A、算法的執(zhí)行時間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。算法的工作量可以用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來度量。5、下列敘述中正確的是A、算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D、算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法的工作量用算法所執(zhí)行的基本運(yùn)算的次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù);算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間。算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間的關(guān)系,是獨(dú)立于計算機(jī)的;數(shù)據(jù)的存儲結(jié)構(gòu)是研究數(shù)據(jù)元素和數(shù)據(jù)元素之間的關(guān)系如何在計算機(jī)中表示,它們并非一一對應(yīng)。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。6、下列敘述中正確的是A、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大B、一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小C、一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小D、算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運(yùn)算次數(shù)來度量,而算法所執(zhí)行的基本運(yùn)算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模:算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。7、數(shù)據(jù)的存儲結(jié)構(gòu)是指A、存儲在外存中的數(shù)據(jù)B、數(shù)據(jù)所占的存儲空間量C、數(shù)據(jù)在計算機(jī)中的順序存儲方式D、數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即為數(shù)據(jù)的存儲結(jié)構(gòu)。8、下列描述中正確的是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ù)處理的效率標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系;數(shù)據(jù)的存儲結(jié)構(gòu)是在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示,一種邏輯結(jié)構(gòu)可以表示成多種存儲結(jié)構(gòu);而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。9、下列描述中正確的是A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。10、下列敘述中正確的是A、有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在數(shù)據(jù)結(jié)構(gòu)中,樹這類的數(shù)據(jù)結(jié)構(gòu)只有一個根結(jié)點(diǎn),但它不是線性結(jié)構(gòu)。11、下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A、循環(huán)隊列B、帶鏈隊列C、二叉樹D、帶鏈棧標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。12、下列描述中正確的是A、線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、雙向鏈表是非線性結(jié)構(gòu)D、只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的基本單位稱為存儲結(jié)點(diǎn),每個存儲結(jié)點(diǎn)包括數(shù)據(jù)域和指針域兩個組成部分。各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的,指向線性表中第一結(jié)點(diǎn)的指針HEAD稱為頭指針,當(dāng)HEAD=NULL時稱為空表。棧、隊列和雙向鏈表是線性結(jié)構(gòu),樹是一種簡單的非線性結(jié)構(gòu)。在樹這種數(shù)據(jù)結(jié)構(gòu)中,所有數(shù)據(jù)元素的關(guān)系具有明顯的層次特征。二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個元素沒有關(guān)系,即使是空的二叉樹也是非線性結(jié)構(gòu)。13、下面敘述中正確的是A、線性表是線性結(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表是最簡單的、最常用的一種線性結(jié)構(gòu)。所謂線性鏈表指的是采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表。棧和隊列其實(shí)是一種特殊的線性表。樹是一種簡單的非線性結(jié)構(gòu),二叉樹是樹的一種。14、下列關(guān)于棧的敘述正確的是A、棧按“先進(jìn)先出”組織數(shù)據(jù)B、棧按“先進(jìn)后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入和刪除的線性表,允許進(jìn)行插入和刪除元素的一端稱為棧頂,另一端稱為棧底。棧是按照“先進(jìn)后出"的原則組織數(shù)據(jù)的。15、支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A、棧B、樹C、隊列D、二叉樹標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是一種限定在一端進(jìn)行插入與刪除的線性表。在主函數(shù)調(diào)用子函數(shù)時,要首先保存主函數(shù)當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子函數(shù),把子函數(shù)的運(yùn)行結(jié)果返回到主函數(shù)調(diào)用子函數(shù)時的位置,主函數(shù)再接著往下執(zhí)行,這種過程符合棧的特點(diǎn)。所以一般采用棧式存儲方式。16、下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是A、循環(huán)隊列B、棧C、隊列D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧按照“先進(jìn)后出”(FILO)或“后進(jìn)先出”(LIFO)組織數(shù)據(jù);隊列是“先進(jìn)先出”(FIFO)或“后進(jìn)后出”(LILO)的線性表.。17、下列關(guān)于棧敘述正確的是A、棧頂元素最先能被刪除B、棧頂元素最后才能被刪除C、棧底元素永遠(yuǎn)不能被刪除D、以上三種說法都不對標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:棧是先進(jìn)后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪除。18、下列關(guān)于棧的敘述中,正確的是A、棧底元素一定是最后入棧的元素B、棧頂元素一定是最先入棧的元素C、棧操作遵循先進(jìn)后出的原則D、以上三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,必須按“后進(jìn)先出”的規(guī)則操作元素。19、下列敘述中正確的是A、在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化B、在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化C、在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化D、上述三種說法都不對標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧跟隊列不同,元素只能在棧頂壓入或彈出,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化,遵循后進(jìn)先出的規(guī)則。20、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是A、12345ABCDEB、EDCBA54321C、ABCDEl2345D、54321EDCBA標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是EDCBA5432l。21、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1,2,3,A,B,C依次入棧,然后再依次出棧,則元素出棧的順序是A、1,2,3,A,B,CB、C,B,A,1,2,3C、C,B,A,3,2,1D、1,2,3,C,B,A標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是CBA321。22、下列關(guān)于棧的描述中錯誤的是A、棧是先進(jìn)后出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。棧頂(top):插入數(shù)據(jù)(即入棧)的一端;棧底(bottom):不能入棧也不能出棧的一端。棧存儲數(shù)據(jù)的原則:“先進(jìn)后出”或“后進(jìn)先出”。棧的特性是具有記憶作用。23、按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A、隊列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素;棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(LastInFirstOut,簡稱LIFO)或“先進(jìn)后出”(FirstInLastOut,簡稱FilLO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。24、下列對隊列的描述中正確的是A、隊列屬于非線性表B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列(queue)是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除;反之,最后插入的元素將最后才能被刪除。因此,隊列又稱“先進(jìn)先出”或“后進(jìn)后出”的線性表。25、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表,二者均為線性結(jié)構(gòu)。26、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題主要考查了棧、隊列、循環(huán)隊列的概念,棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表。根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),又可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。27、下列關(guān)于棧的描述中正確的是A、在棧中只能插入元素而不能刪除元素B、在棧中只能刪除元素而不能插入元素C、棧是特殊的線性表,只能在一端插入或刪除元素D、棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表,在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。28、下列敘述中正確的是A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。29、對于循環(huán)隊列,下列敘述中正確的是A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運(yùn)算和退隊運(yùn)算。每進(jìn)行一次入隊運(yùn)算,隊尾指針就進(jìn)一。每進(jìn)行一次退隊運(yùn)算,隊頭指針就進(jìn)一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。30、下列敘述中正確的是A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。31、設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運(yùn)算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達(dá)15,此時元素個數(shù)為0;第二種情況是隊頭指針第一次到達(dá)15,而尾指針第二次到達(dá)15,此時元素個數(shù)為35。32、在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為A、2B、3C、4D、5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當(dāng)有元素入隊時,rear=rear+1,而元素出隊的時候,front=front+1,當(dāng)rear值大于front值時,隊列中的元素個數(shù)為rear-front,當(dāng)rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。33、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、棧與隊列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。34、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是“先進(jìn)后出”,隊列“是先進(jìn)先出”。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表稱之為線性鏈表。35、下列與隊列結(jié)構(gòu)有關(guān)聯(lián)的是A、函數(shù)的遞歸調(diào)用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務(wù)的作業(yè)調(diào)度標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。國家二級公共基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)與算法)模擬試卷第5套一、單項選擇題(本題共27題,每題1.0分,共27分。)1、下列敘述中正確的是A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。2、對于循環(huán)隊列,下列敘述中正確的是A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運(yùn)算和退隊運(yùn)算。每進(jìn)行一次入隊運(yùn)算,隊尾指針就進(jìn)一。每進(jìn)行一次退隊運(yùn)算,隊頭指針就進(jìn)一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。3、下列敘述中正確的是A、循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊列是非線性結(jié)構(gòu)D、循環(huán)隊列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應(yīng)該是線性結(jié)構(gòu)。隊列是一種邏輯結(jié)構(gòu),而循環(huán)隊列是一種順序存儲結(jié)構(gòu)的隊列。4、設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35。現(xiàn)經(jīng)過一系列入隊與退隊運(yùn)算后,front=15,rear一15,則循環(huán)隊列中的元素個數(shù)為A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:循環(huán)隊列的隊頭指針和尾指針都等于15,此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達(dá)15,此時元素個數(shù)為0:第二種情況是隊頭指針第一次到達(dá)15,而尾指針第二次到達(dá)15,此時元素個數(shù)為35。5、在容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則循環(huán)隊列中的元素個數(shù)為A、2B、3C、4D、5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:循環(huán)隊列中,rear表示尾指針,front表示頭指針,當(dāng)有元素入隊時,rear=rear+1,而元素出隊的時候,front=front+1,當(dāng)rear值大于front值時,隊列中的元素個數(shù)為rear-front,當(dāng)rear的值小于front時,列隊中的元素個數(shù)為rear-front+m(m表示隊列的容量)。6、下列敘述中正確的是A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、棧與隊列都是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是先進(jìn)后出,隊列是先進(jìn)先出。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。7、下列敘述中正確的是A、棧是“先進(jìn)先出”的線性表B、隊列是“先進(jìn)后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:棧是“先進(jìn)后出”,隊列“是先進(jìn)先出”。棧和隊列都是一種線性表,屬于線性結(jié)構(gòu)。有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表稱之為線性鏈表。8、下列與隊列結(jié)構(gòu)有關(guān)聯(lián)的是A、函數(shù)的遞歸調(diào)用B、數(shù)組元素的引用C、多重循環(huán)的執(zhí)行D、先到先服務(wù)的作業(yè)調(diào)度標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:隊列中最先插入的元素將最先被刪除,最后插入的元素將最后被刪除。9、下列敘述中正確的是A、循環(huán)隊列中的元素個數(shù)隨隊頭指針與隊尾指針的變化而動態(tài)變化B、循環(huán)隊列中的元素個數(shù)隨隊頭指針的變化而動態(tài)變化C、循環(huán)隊列中的元素個數(shù)隨隊尾指針的變化而動態(tài)變化D、循環(huán)隊列中的元素個數(shù)不會變化標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:所謂循環(huán)結(jié)構(gòu)就是將隊列存儲空間的最后一個位置繞到第一個位置上,形成邏輯上的環(huán)狀空間,循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置,因此,隊列中的元素數(shù)等于從隊頭指針front指向的后一個位置與隊尾指針rear指向位置之間的元素數(shù)量。10、下列關(guān)于線性鏈表的敘述中,正確的是A、各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點(diǎn)韻存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進(jìn)行插入與刪除時,不需要移動表中的元素D、以上都不正確標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。11、下列敘述中正確的是A、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間一般要少于順序存儲結(jié)構(gòu)B、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)的存儲空間都是連續(xù)的C、線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D、以上都不正確標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域:另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。12、下列敘述中正確的是A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、以上都不正確標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的。而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。13、下列敘述中正確的是A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、上述三種說法都不對標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯ΑT陧樞虼鎯χ?,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點(diǎn)分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。14、下列對于線性鏈表的描述中正確的是A、存儲空間不一定連續(xù),且各元素的存儲順序是任意的B、存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C、存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D、存儲空間必須連續(xù),且各元素的存儲順序是任意的標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:一般來說,在線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲序號是不連續(xù)的,并且各結(jié)點(diǎn)在存儲宅問中的位置關(guān)系與邏輯關(guān)系也不一致。在線性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來指示的,指向線性表中第一個結(jié)點(diǎn)的指針head稱為頭指針,當(dāng)head=NULL(或0)時稱為空表。15、下列敘述中正確的是A、順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的B、順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)C、順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表D、鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:順序存儲方式主要用于線性的數(shù)據(jù)結(jié)構(gòu),它把邏輯上相鄰的數(shù)據(jù)元素存儲在物理上相鄰的存儲單元里,結(jié)點(diǎn)之間的關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。而鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的。16、下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是A、二叉鏈表B、循環(huán)鏈表C、雙向鏈表D、帶鏈的棧標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:二叉鏈表作為樹的存儲結(jié)構(gòu)。鏈表中結(jié)點(diǎn)的兩個鏈域分別指向該結(jié)點(diǎn)的第一個孩子結(jié)點(diǎn)和下一個兄弟結(jié)點(diǎn)。17、下列敘述中正確的是

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論