計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫分析_第1頁
計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫分析_第2頁
計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫分析_第3頁
計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫分析_第4頁
計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫分析_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余46頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫及分析計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫及分析計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)題庫及分析全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)考題庫第一章數(shù)據(jù)構(gòu)造一、選擇題(1)以下數(shù)據(jù)構(gòu)造中,能用二分法進(jìn)行查找的是A)次序儲(chǔ)存的有序線性表B)線性鏈表C)二叉鏈表D)有序線性鏈表【答案】A【分析】二分查找只適用于次序儲(chǔ)存的有序表。在此所說的有序表是指線性表中的元素按值非遞減擺列(即從小到大.但同意相鄰元素值相等)的。選項(xiàng)A正確。(2)以下關(guān)于棧的描述正確的選項(xiàng)是A)在棧中只好插入元素而不可以刪除元素B)在棧中只好刪除元素而不可以插入元素C)棧是特別的線性表,只好在一端插入或刪除元素D)棧是特別的線性表,只好在一端插入元素,而在另一端刪除元素【答案】C【分析】棧是一種特別的線性表,其插入與刪除運(yùn)算都只在線性表的一端進(jìn)行。因而可知,選項(xiàng)A、選項(xiàng)B和選項(xiàng)D錯(cuò)誤,正確答案是選項(xiàng)C。(3)以下表達(dá)中正確的選項(xiàng)是)一個(gè)邏輯數(shù)據(jù)構(gòu)造只好有一種儲(chǔ)存構(gòu)造)數(shù)據(jù)的邏輯構(gòu)造屬于線性構(gòu)造,儲(chǔ)存構(gòu)造屬于非線性構(gòu)造)一個(gè)邏輯數(shù)據(jù)構(gòu)造能夠有多種儲(chǔ)存構(gòu)造,且各種儲(chǔ)存構(gòu)造不影響數(shù)據(jù)辦理的效率)一個(gè)邏輯數(shù)據(jù)構(gòu)造能夠有多種儲(chǔ)存構(gòu)造,且各種儲(chǔ)存構(gòu)造影響數(shù)據(jù)辦理的效率【答案】D【分析】一般來說,一種數(shù)據(jù)的邏輯構(gòu)造依據(jù)需要能夠表示成多種儲(chǔ)存構(gòu)造,常用的儲(chǔ)存構(gòu)造有次序、鏈接、索引等儲(chǔ)存構(gòu)造。而采用不一樣的儲(chǔ)存構(gòu)造,其數(shù)據(jù)辦理的效率是不一樣的。因而可知,選項(xiàng)D的說法正確。算法執(zhí)行過程中所需要的儲(chǔ)存空間稱為算法的A)時(shí)間復(fù)雜度B)計(jì)算工作量C)空間復(fù)雜度D)工作空間【答案】c【分析】算法執(zhí)行時(shí)所需要的儲(chǔ)存空間,包含算法程序所占的空間、輸入的初始數(shù)據(jù)所占的儲(chǔ)存空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包含算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)構(gòu)造所需要的附帶儲(chǔ)存空間。這些儲(chǔ)存空間共稱為算法的空間復(fù)雜度。以下關(guān)于隊(duì)列的表達(dá)中正確的選項(xiàng)是A)在隊(duì)列中只好插入數(shù)據(jù)B)在隊(duì)列中只好刪除數(shù)據(jù)C)隊(duì)列是先進(jìn)先出的線性表D)隊(duì)列是先進(jìn)后出的線性表【答案】c【分析】對(duì)隊(duì)列能夠進(jìn)行插入和刪除數(shù)據(jù)的操作,不過插入數(shù)據(jù)只好在隊(duì)尾,刪除數(shù)據(jù)只能在隊(duì)頭。所以隊(duì)列是先進(jìn)先出的線性表。設(shè)有以下二叉樹:ABCDEF對(duì)此二叉樹后序遍歷的結(jié)果為A)ABCDEFB)BDAECFC)ABDCEFD)DBEFCA【答案】D【分析】二叉樹的遍歷分為先序、中序、后序三種不一樣方式。本題要求后序遍歷。其遍歷次序應(yīng)該為:后序遍歷左子樹一>后序遍歷右子樹一>接見根結(jié)點(diǎn)。依照定義,后序遍歷序列是DBEFCA,故答案為D。以下表達(dá)中正確的選項(xiàng)是( )程序執(zhí)行的效率與數(shù)據(jù)的儲(chǔ)存構(gòu)造親近相關(guān)程序執(zhí)行的效率只取決于程序的控制構(gòu)造程序執(zhí)行的效率只取決于所辦理的數(shù)據(jù)量以上三種說法都不對(duì)【答案】A【分析】本題觀察程序效率。程序效率是指程序運(yùn)轉(zhuǎn)速度和程序占用的儲(chǔ)存空間。影響程序效率的要素是多方面的,包含程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的儲(chǔ)存構(gòu)造等。在確立數(shù)據(jù)邏輯構(gòu)造的基礎(chǔ)上,選擇一種適合的儲(chǔ)存構(gòu)造,能夠使得數(shù)據(jù)操作所花銷的時(shí)間少,占用的儲(chǔ)存空間少,即提升程序的效率。所以,本題選項(xiàng)A的說法是正確的。以下表達(dá)中正確的選項(xiàng)是( )數(shù)據(jù)的邏輯構(gòu)造與儲(chǔ)存構(gòu)造必定是一一對(duì)應(yīng)的因?yàn)橛?jì)算機(jī)儲(chǔ)存空間是向量式的儲(chǔ)存構(gòu)造,所以,數(shù)據(jù)的儲(chǔ)存構(gòu)造必定是線性構(gòu)造程序設(shè)計(jì)語言中的數(shù)組一般是次序儲(chǔ)存構(gòu)造,所以,利用數(shù)組只好辦理線線構(gòu)造以上三種說法都不對(duì)【答案】D【分析】本題觀察數(shù)據(jù)構(gòu)造的基本知識(shí)。數(shù)據(jù)之間的互相關(guān)系稱為邏輯構(gòu)造。平常分為四類基本邏輯構(gòu)造,即會(huì)集、線性構(gòu)造、樹型構(gòu)造、圖狀構(gòu)造或網(wǎng)狀構(gòu)造。儲(chǔ)存構(gòu)造是邏輯構(gòu)造在儲(chǔ)存器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。儲(chǔ)存構(gòu)造在計(jì)算機(jī)中有兩種,即次序儲(chǔ)存構(gòu)造和鏈?zhǔn)絻?chǔ)存構(gòu)造。順序儲(chǔ)存構(gòu)造是把數(shù)據(jù)元素儲(chǔ)存在一塊連續(xù)地址空間的內(nèi)存中;鏈?zhǔn)絻?chǔ)存構(gòu)造是使用指針把互相直接關(guān)系的節(jié)點(diǎn)鏈接起來。所以,這兩種儲(chǔ)存構(gòu)造都是線性的。可見,邏輯構(gòu)造和存儲(chǔ)構(gòu)造不是一一對(duì)應(yīng)的。所以,選項(xiàng)A和選項(xiàng)B的說法都是錯(cuò)誤的。無論數(shù)據(jù)的邏輯構(gòu)造是線性的還是非線性的,只好選擇次序儲(chǔ)存構(gòu)造或鏈?zhǔn)絻?chǔ)存構(gòu)造來實(shí)現(xiàn)儲(chǔ)存。程序設(shè)計(jì)語言中,數(shù)組是內(nèi)存中一段連續(xù)的地址空間,可看作是次序儲(chǔ)存構(gòu)造。能夠用數(shù)組來實(shí)現(xiàn)樹型邏輯構(gòu)造的儲(chǔ)存,比方二叉樹。所以,選項(xiàng)c的說法是錯(cuò)誤的冒泡排序在最壞狀況下的比較次數(shù)是( )A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2【答案】C【分析】冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,假如反序,則交換;關(guān)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素挪動(dòng)到最后的地址,其余值較大的元素也向最后地址挪動(dòng),此過程稱為一趟冒泡。關(guān)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞狀況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進(jìn)行n-l趟排序。所以,冒泡排序在最壞狀況下的比較次數(shù)是(n-1)+(n-2)++l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)c。(10)一棵二叉樹中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為( )A)219B)221C)229D)231【答案】A【分析】本題觀察數(shù)據(jù)構(gòu)造中二叉樹的性質(zhì)。二叉樹滿足以下一條性質(zhì),即:對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+l。依據(jù)這條性質(zhì)可知,若二叉樹中有70個(gè)葉子結(jié)點(diǎn),則其度為2的結(jié)點(diǎn)數(shù)為70-1,即69個(gè)。二叉樹的總結(jié)點(diǎn)數(shù)是度為2、度為1和葉子結(jié)點(diǎn)的總和,所以,題目中的二叉樹總結(jié)點(diǎn)數(shù)為69+80+70,即219。所以,本題的正確答案是選項(xiàng)A。以下表達(dá)中正確的選項(xiàng)是( )算法的效率只與問題的規(guī)模相關(guān),而與數(shù)據(jù)的儲(chǔ)存構(gòu)造沒關(guān)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯構(gòu)造與儲(chǔ)存構(gòu)造是一一對(duì)應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度必定相關(guān)【答案】B【分析】本題觀察數(shù)據(jù)構(gòu)造中相關(guān)算法的基本知識(shí)和看法。數(shù)據(jù)的構(gòu)造,直接影響算法的選擇和效率。而數(shù)據(jù)構(gòu)造包含雙方面,即數(shù)據(jù)的邏輯構(gòu)造和數(shù)據(jù)的儲(chǔ)存構(gòu)造。所以,數(shù)據(jù)的邏輯構(gòu)造和儲(chǔ)存構(gòu)造都影響算法的效率。選項(xiàng)A的說法是錯(cuò)誤的。算法的時(shí)間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需時(shí)間的胸襟;與時(shí)間復(fù)雜度近似,空間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需儲(chǔ)存空間的胸襟。所以,選項(xiàng)B的說法是正確的。數(shù)據(jù)之間的互相關(guān)系稱為邏輯構(gòu)造。平常分為四類基本邏輯構(gòu)造,即會(huì)集、線性構(gòu)造、樹型構(gòu)造、圖狀構(gòu)造或網(wǎng)狀構(gòu)造。儲(chǔ)存構(gòu)造是邏輯構(gòu)造在儲(chǔ)存器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。儲(chǔ)存構(gòu)造在計(jì)算機(jī)中有兩種,即次序儲(chǔ)存構(gòu)造和鏈?zhǔn)絻?chǔ)存構(gòu)造。可見,邏輯構(gòu)造和儲(chǔ)存構(gòu)造不是一一對(duì)應(yīng)的。所以,選項(xiàng)c的說法是錯(cuò)誤的。有時(shí)人們?yōu)榱颂嵘惴ǖ臅r(shí)間復(fù)雜度,而以犧牲空間復(fù)雜度為代價(jià)。但是,這二者之間沒有必定的聯(lián)系。所以,選項(xiàng)D的說法是錯(cuò)誤的。以下關(guān)于算法的時(shí)間復(fù)雜度陳說正確的選項(xiàng)是A)算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間B)算法的時(shí)間復(fù)雜度是指算法程序的長(zhǎng)度C)算法的時(shí)間復(fù)雜度是指算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D)算法的時(shí)間復(fù)雜度是指算法程序中的指令條數(shù)【答案】C【分析】算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,也就是算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),而不是指程序運(yùn)轉(zhuǎn)需要的時(shí)間或是程序的長(zhǎng)度。以下關(guān)于棧的表達(dá)中正確的選項(xiàng)是A)在棧中只好插入數(shù)據(jù)B)在棧中只好刪除數(shù)據(jù)C)棧是先進(jìn)先出的線性表D)棧是先進(jìn)后出的線性表【答案】D【分析】對(duì)??蛇M(jìn)行插入和刪除數(shù)據(jù)的操作,但一定牢記插入和刪除數(shù)據(jù)都只好是在棧頂,是一種特別的線性表。所以棧是先進(jìn)后出的線性表。設(shè)有以下二叉樹:ABCFF對(duì)此二叉樹中序遍歷的結(jié)果為

DEFA)ABCDEFB)DAECFC)BDAECFD)DBEFCA【答案】C【分析】二叉樹的遍歷分為先序、中序、后序三種不一樣方式。本題要求中序遍歷,其遍歷次序應(yīng)該為:中序遍歷左子樹->接見根結(jié)點(diǎn)->中序遍歷右子樹。依照定義,中序遍歷序列是BDAECF,故答案為B。依照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)構(gòu)造是A)隊(duì)列B)棧C)雙向鏈表D)二叉樹【答案】B【分析】“后進(jìn)先出”表示最后被插入的元素最初能被刪除。選項(xiàng)A中,隊(duì)列是指同意在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,在隊(duì)列這類數(shù)據(jù)構(gòu)造中,最初插入的元素將最初能夠被刪除,反之,最后插入的元素將最后才能被刪除,隊(duì)列又稱為“先進(jìn)先出”的線性表,它表現(xiàn)了“先來先服務(wù)”的原則:選項(xiàng)B中,棧頂元素總是最后被插入的元素,從而也是最初能被刪除的元素,棧底元素總是最初被插入的元素,從而也是最后才能被刪除的元素。隊(duì)列和棧都屬于線性表,它們擁有次序儲(chǔ)存的特色,所以才有“先進(jìn)先出”和“后進(jìn)先出”的數(shù)據(jù)組織方式。雙向鏈表使用鏈?zhǔn)絻?chǔ)存方式.二叉樹也平常采用鏈?zhǔn)絻?chǔ)存方式,它們的儲(chǔ)存數(shù)據(jù)的空間能夠是不連續(xù)的,各個(gè)數(shù)據(jù)結(jié)點(diǎn)的儲(chǔ)存次序與數(shù)據(jù)元素之間的邏輯關(guān)系能夠不一致。所以選項(xiàng)c和選項(xiàng)D錯(cuò)。以下表達(dá)中正確的選項(xiàng)是A)線性鏈表是線性表的鏈?zhǔn)絻?chǔ)存構(gòu)造B)棧與隊(duì)列是非線性構(gòu)造C)雙向鏈表是非線性構(gòu)造D)只有根結(jié)點(diǎn)的二叉樹是線性構(gòu)造【答案】A【分析】一個(gè)非空的數(shù)據(jù)構(gòu)造假如滿足以下兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱為線性構(gòu)造。線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)構(gòu)造,選項(xiàng)A的說法是正確的。棧與隊(duì)列是特別的線性表,它們也是線性構(gòu)造,選項(xiàng)B的說法是錯(cuò)誤的;雙向鏈表是線性表的鏈?zhǔn)絻?chǔ)存構(gòu)造,其對(duì)應(yīng)的邏輯構(gòu)造也是線性構(gòu)造,而不是非線性構(gòu)造,選項(xiàng)c的說法是錯(cuò)誤的;二叉樹是非線性構(gòu)造,而不是線性構(gòu)造,選項(xiàng)D的說法是錯(cuò)誤的。所以,本題的正確答案為A(17)對(duì)以下二叉樹A進(jìn)行后序遍歷的結(jié)果為BCA)ABCDEFB)DBEAFCDEFC)ABDECFD)DEBFCA【答案】D【分析】二叉樹后序遍歷的簡(jiǎn)單描述以下:若二叉樹為空,則結(jié)束返回。不然(1)后序遍歷左子樹;(2)后序遍歷右子樹;(3)接見根結(jié)點(diǎn)。也就是說,后序遍歷是指在接見根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,第一遍歷左子樹,而后遍歷右子樹,最后接見根結(jié)點(diǎn),并且,在遍歷左、右子樹時(shí),依舊先遍歷左子樹,而后遍歷右子樹,最后接見根結(jié)點(diǎn)。根據(jù)后序遍歷的算法,后序遍歷的結(jié)果為DEBFCA。以下對(duì)隊(duì)列的表達(dá)正確的選項(xiàng)是( )隊(duì)列屬于非線性表隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)【答案】D【分析】本題觀察數(shù)據(jù)構(gòu)造中隊(duì)列的基本知識(shí)。隊(duì)列是一種限制性的線性表,它只同意在表的一端插入元素,而在另一端刪除元素,所以隊(duì)列擁有先進(jìn)先出的特征。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,同意刪除的一端則稱為隊(duì)頭。這與平常生活中的排隊(duì)是一致的,最早進(jìn)入隊(duì)列的人最早退開,新來的人總是加入到隊(duì)尾。所以,本題中只有選項(xiàng)D的說法是正確的。對(duì)以下二叉樹進(jìn)行前序遍歷的結(jié)果為( )A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ【答案】C【分析】本題觀察數(shù)據(jù)構(gòu)造中二叉樹的遍歷。依據(jù)對(duì)二叉樹根的接見先后次序不一樣,分別稱為前序遍歷、中序遍歷和后序遍歷。這三種遍歷都是遞歸定義的,即在其子樹中也依照相同的規(guī)律進(jìn)行遍歷。下邊就是前序遍歷方法的遞歸定義。當(dāng)二叉樹的根不為空時(shí),挨次執(zhí)行以下3個(gè)操作:(1)接見根結(jié)點(diǎn)(2)按先序遍歷左子樹(3)按先序遍歷右子樹依據(jù)如上前序遍歷規(guī)則,來遍歷本題中的二叉樹。第一接見根結(jié)點(diǎn),即A,而后遍歷A的左子樹。遍歷左子樹相同依照相同的規(guī)則第一接見根結(jié)點(diǎn)B,而后遍歷B的左子樹。遍歷B的左子樹,第一接見D,而后接見D的左子樹,D的左子樹為空,接下來接見D的右子樹,即Y。遍歷完B的左子樹后,再遍歷B的右子樹,即E。到此遍歷完A的左子樹,接下來遍歷A的右子樹。依照相同的規(guī)則,第一接見C,而后遍歷c的左子樹。即F。c的左子樹遍歷完,接著遍歷c的右子樹。第一接見右子樹的根結(jié)點(diǎn)X,而后接見X的左子樹,X的左子樹,即Z,接下來接見X的右子樹,右子樹為空。到此,把題目的二叉樹進(jìn)行了一次前序遍歷。遍歷的結(jié)果為ABDYECFXZ,故本題的正確答案為選項(xiàng)C。(20)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為( )A)n+1B)n-1C)2nD)n/2【答案】A【分析】本題觀察數(shù)據(jù)構(gòu)造中二叉樹的性質(zhì)。二叉樹滿足以下一條性質(zhì),即:對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)

(即葉子結(jié)點(diǎn)

)數(shù)為

no,而其度數(shù)為

2的結(jié)點(diǎn)數(shù)為

n2,則

n0=n2+l

。依據(jù)這條性質(zhì)可知,若二叉樹中有

n個(gè)度為

2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為

n+l

。所以,本題的正確答案是選項(xiàng)

A。在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32B)31C)64D)63【答案】C【分析】在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。關(guān)于滿二叉樹來說,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn)。所以,在深度為7的滿二叉樹中,所有葉子結(jié)點(diǎn)在第7層上.即其結(jié)點(diǎn)數(shù)為2k-1=27-1=64所以.本題的正確答案為c。以下表達(dá)中正確的選項(xiàng)是A)一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大B)一個(gè)算法的空間復(fù)雜度大,則期時(shí)間復(fù)雜度必定小C)一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D)上述三種說法都不對(duì)【答案】D【分析】時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)胸襟;空間復(fù)雜度是指算法在運(yùn)轉(zhuǎn)過程中暫時(shí)占用所需儲(chǔ)存空間大小的胸襟。人們都希望選擇一個(gè)既省儲(chǔ)存空間、又省執(zhí)行時(shí)間的算法。但是,有時(shí)為了加快算法的運(yùn)轉(zhuǎn)速度,不得不增添空間開支;有時(shí)為了能有效地儲(chǔ)存算法和數(shù)據(jù),又不得不犧牲運(yùn)轉(zhuǎn)時(shí)間。時(shí)間和空間的效率常常是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的狀況,也就是說時(shí)間復(fù)雜度和空間復(fù)雜度之間固然常常矛盾。但是二者不存在必定的聯(lián)系。所以,選項(xiàng)A、B、c的說法都是錯(cuò)誤的。故本題的正確答案是D。在長(zhǎng)度為64的有序線性表中進(jìn)行次序查找,最壞狀況下需要比較的次數(shù)為A)63B)64C)6D)7【答案】B【分析】在長(zhǎng)度為64的有序線性表中,其中的64個(gè)數(shù)據(jù)元素是依照從大到小或從小到大的次序擺列有序的。在這樣的線性表中進(jìn)行次序查找,最壞的狀況就是查找的數(shù)據(jù)元素不在線性表中或位于線性表的最后。依照線性表的次序查找算法,第一用被查找的數(shù)據(jù)和線性表的第一個(gè)數(shù)據(jù)元素進(jìn)行比較。若相等,則查找成功,不然,連續(xù)進(jìn)行比較,即和線性表的第二個(gè)數(shù)據(jù)元素進(jìn)行比較。相同,若相等,則查找成功,不然,連續(xù)進(jìn)行比較。挨次類推,直到在線性表中查找到該數(shù)據(jù)或查找到線性表的最后一個(gè)元素,算法才結(jié)束。所以,在長(zhǎng)度為64的有序線性表中進(jìn)行次序查找,最壞的狀況下需要比較64次。所以,本題的正確答案為B。(24)對(duì)以下二叉樹進(jìn)行中序遍歷的結(jié)果是A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG【答案】A

FCEADG(1)按中序次序接見左子樹;(2)【分析】二叉樹的中序遍歷遞歸算法為:假如根不空,則B接見根結(jié)點(diǎn):(3)按中序次序接見右子樹。不然返回。本題中,依據(jù)中序遍歷算法.應(yīng)第一依照中序次序接見以c為根結(jié)點(diǎn)的左子樹,而后再接見根結(jié)點(diǎn)F,最后才接見以E為根結(jié)點(diǎn)的右子樹。遍歷以c為根結(jié)點(diǎn)的左子樹相同要依照中序遍歷算法,因其中序遍歷結(jié)果為ACBD;而后遍歷根結(jié)點(diǎn)F;遍歷以E為根結(jié)點(diǎn)的右子樹,相同要依照中序遍歷算法,所以中序遍歷結(jié)果為EG。最后把這三部分的遍歷結(jié)果挨次序連接起來,中序遍歷結(jié)果為ACBDFEG。所以,本題的正確答案是A。(25)數(shù)據(jù)的儲(chǔ)存構(gòu)造是指______。A)儲(chǔ)存在外存中的數(shù)據(jù)B)數(shù)據(jù)所占的儲(chǔ)存空間量C)數(shù)據(jù)在計(jì)算機(jī)中的次序儲(chǔ)存方式D)數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)中的表示【答案】D【分析】數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)儲(chǔ)存空間中的存放形式稱為數(shù)據(jù)的儲(chǔ)存構(gòu)造,也稱數(shù)據(jù)的物理構(gòu)造。所以選項(xiàng)D正確。26)以下關(guān)于棧的描述中錯(cuò)誤的選項(xiàng)是______。A)棧是先進(jìn)后出的線性表B)棧只好次序儲(chǔ)存C)棧擁有記憶作用D)對(duì)棧的插入與刪除操作中,不需要改變棧底指針【答案】B【分析】本題核查棧的基本看法,我們能夠經(jīng)過消除法來確立本題的答案。棧是限制在一端進(jìn)行插入與刪除的線性表,棧頂元素總是最后被插入的元素,從而也是最初能被刪除的元素;棧底元素總是最初被插入的元素,從而也是最后才能被刪除的元素,即棧是依照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的,這即是棧的記憶作用,所以選項(xiàng)A和選項(xiàng)C正確。對(duì)棧進(jìn)行插入和刪除操作時(shí),棧頂?shù)刂肥莿?dòng)向變化的,棧底指針不變,選項(xiàng)D正確。因而可知,選項(xiàng)B的描述錯(cuò)誤。(27)關(guān)于長(zhǎng)度為n的線性表,在最壞狀況下,以下各排序法所對(duì)應(yīng)的比較次數(shù)中正確的選項(xiàng)是______。A)冒泡排序?yàn)?/p>

n/2

B)冒泡排序?yàn)?/p>

nC)快速排序?yàn)?/p>

n

D)快速排序?yàn)?/p>

n(n-1)/2【答案】

D【分析】假設(shè)線性表的長(zhǎng)度為

n,在最壞狀況下,冒泡排序和快速排序需要的比較次數(shù)為n(n—1)/2。因而可知,選項(xiàng)D正確。(28)對(duì)長(zhǎng)度為n的線性表進(jìn)行次序查找,在最壞狀況下所需要的比較次數(shù)為______。A)log2

n

B)n/2

C)n

D)n+1【答案】

C【分析】在長(zhǎng)度為

n的線性表中進(jìn)行次序查找,最壞狀況下需要比較

n次。選項(xiàng)

C正確。(29)以下關(guān)于線性鏈表的描述中正確的選項(xiàng)是

______。A)儲(chǔ)存空間不必定是連續(xù),且各元素的儲(chǔ)存次序是任意的B)儲(chǔ)存空間不必定是連續(xù),且前件元素必定儲(chǔ)存在后件元素的前面C)儲(chǔ)存空間一定連續(xù),且前件元素必定儲(chǔ)存在后件元素的前面D)儲(chǔ)存空間一定連續(xù),且各元素的儲(chǔ)存次序是任意的【答案】A【分析】在鏈?zhǔn)絻?chǔ)存構(gòu)造中,儲(chǔ)存數(shù)據(jù)的儲(chǔ)存空間能夠不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的儲(chǔ)存次序與數(shù)據(jù)元素之間的邏輯關(guān)系能夠不一致,數(shù)據(jù)元素之間的邏輯關(guān)系,是由指針域來確立的。因而可知,選項(xiàng)A的描述正確。30)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有____個(gè)葉子結(jié)點(diǎn)?!敬鸢浮?9【分析】二叉樹擁有以下性質(zhì):在任意一棵二叉樹中,度為O的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。依據(jù)題意,度為2的節(jié)點(diǎn)為18個(gè),那么,葉子結(jié)點(diǎn)就應(yīng)該是19個(gè)。(1)線性表若采用鏈?zhǔn)絻?chǔ)存構(gòu)造時(shí),要求內(nèi)存中可用儲(chǔ)存單元的地址A)一定是連續(xù)的B)部分地址一定是連續(xù)的C)必定是不連續(xù)的D)連續(xù)不連續(xù)都能夠分析:在鏈?zhǔn)絻?chǔ)存構(gòu)造中,儲(chǔ)存數(shù)據(jù)構(gòu)造的儲(chǔ)存空間能夠是連續(xù)的,也能夠是不連續(xù)的,各數(shù)據(jù)結(jié)點(diǎn)的儲(chǔ)存次序與數(shù)據(jù)元素之間的邏輯關(guān)系能夠不一致。故本題答案應(yīng)該為選項(xiàng)D)(2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是A)冒泡排序B)選擇排序C)快速排序D)歸并排序分析:從均勻時(shí)間性能而言,快速排序最正確,其所需時(shí)間最少,但快速排序在最壞狀況下的時(shí)間性能不如堆排序和歸并排序。當(dāng)序列中的記錄基本有序或元素個(gè)數(shù)較少時(shí),冒泡排序和簡(jiǎn)單項(xiàng)選擇擇排序?yàn)樽钫_排序方法,故本題答案應(yīng)該為選項(xiàng)A)。(3)以下表達(dá)中,錯(cuò)誤的選項(xiàng)是A)數(shù)據(jù)的儲(chǔ)存構(gòu)造與數(shù)據(jù)辦理的效率親近相關(guān)B)數(shù)據(jù)的儲(chǔ)存構(gòu)造與數(shù)據(jù)辦理的效率沒關(guān)C)數(shù)據(jù)的儲(chǔ)存構(gòu)造在計(jì)算機(jī)中所占的空間不必定是連續(xù)的D)一種數(shù)據(jù)的邏輯構(gòu)造能夠有多種儲(chǔ)存構(gòu)造分析:一般來說,一種數(shù)據(jù)構(gòu)造依據(jù)需要能夠表示成多種儲(chǔ)存構(gòu)造。常用的儲(chǔ)存構(gòu)造有順序、鏈接、索引等,而采用不一樣的儲(chǔ)存構(gòu)造,其數(shù)據(jù)辦理的效率是不一樣的;一個(gè)數(shù)據(jù)構(gòu)造中的各數(shù)據(jù)元素在計(jì)算機(jī)儲(chǔ)存空間中的地址關(guān)系與邏輯關(guān)系是有可能不一樣的。故本題答案應(yīng)該為選項(xiàng)B)。(4)希爾排序?qū)儆贏)交換排序B)歸并排序C)選擇排序D)插入排序分析:希爾排序的基本思想是把記錄按下標(biāo)的必定增量分組,對(duì)每組記錄使用插入排序,隨增量的逐漸減小,所分成的組包含的記錄愈來愈多,到增量的值減小到1時(shí),整個(gè)數(shù)據(jù)合成一組,構(gòu)成一組有序記錄,故其屬于插入排序方法。故本題答案應(yīng)該為選項(xiàng)D)。(1)棧和隊(duì)列的共同特色是A)都是先進(jìn)先出B)都是先進(jìn)后出C)只同意在端點(diǎn)處插入和刪除元素D)沒有共同點(diǎn)分析:棧和隊(duì)列都是一種特別的操作受限的線性表,只同意在端點(diǎn)處進(jìn)行插入和刪除。二者的差別是:棧只同意在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只同意在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表。故本題答案應(yīng)該為選項(xiàng)C)。(2)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是A)acbedB)decabC)deabcD)cedba分析:依照后序遍歷序列可確立根結(jié)點(diǎn)為c;再依照中序遍歷序列可知其左子樹由deba構(gòu)成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點(diǎn)為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成,以以下圖所示。求得該二叉樹的前序遍歷序列為選項(xiàng)D)。(3)鏈表不擁有的特色是A)不用早先預(yù)計(jì)儲(chǔ)存空間B)可隨機(jī)接見任一元素C)插入刪除不需要挪動(dòng)元素D)所需空間與線性表長(zhǎng)度成正比分析:鏈表采用的是鏈?zhǔn)絻?chǔ)存構(gòu)造,它戰(zhàn)勝了次序儲(chǔ)存構(gòu)造的弊端:它的結(jié)點(diǎn)空間能夠動(dòng)態(tài)申請(qǐng)和開釋;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要挪動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)絻?chǔ)存構(gòu)造也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用儲(chǔ)存空間;②鏈?zhǔn)酱鎯?chǔ)構(gòu)造是一種非隨機(jī)儲(chǔ)存構(gòu)造。故本題答案應(yīng)該為選項(xiàng)D)。(6)算法的時(shí)間復(fù)雜度是指A)執(zhí)行算法程序所需要的時(shí)間B)算法程序的長(zhǎng)度C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D)算法程序中的指令條數(shù)分析:算法的復(fù)雜度主要包含算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。故本題答案應(yīng)該為選項(xiàng)A)。(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG分析:利用前序和中序遍歷的方法能夠確立二叉樹的構(gòu)造,詳盡步驟以下:①

前序遍歷的第一個(gè)結(jié)點(diǎn)

A為樹的根結(jié)點(diǎn);②

中序遍歷中

A的左側(cè)的結(jié)點(diǎn)為

A的左子樹,

A右側(cè)的結(jié)點(diǎn)為

A的右子樹;③再分別對(duì)

A的左右子樹進(jìn)行上述兩步辦理,

直到每個(gè)結(jié)點(diǎn)都找到正確的地址。故本題答案應(yīng)該為選項(xiàng)

B)。(2)樹是結(jié)點(diǎn)的會(huì)集,它的根結(jié)點(diǎn)數(shù)目是A)有且只有1B)1或多于1C)0或1D)最少2分析:樹是一個(gè)或多個(gè)結(jié)點(diǎn)構(gòu)成的有限會(huì)集,其中一個(gè)特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個(gè)不訂交的會(huì)集。每個(gè)會(huì)集同時(shí)又是一棵樹。樹有且只有1個(gè)根結(jié)點(diǎn)。故本題答案應(yīng)該為選項(xiàng)A)。(3)假如進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意次序分析:由棧"后進(jìn)先出"的特色可知:A)中e1不行能比e2先出,C)中e3不行能比e4先出,且e1不行能比e2先出,D)中棧是先進(jìn)后出的,所以不行能是任意次序。B)中出棧過程以以下圖:故本題答案應(yīng)該為選項(xiàng)B)。(4)在設(shè)計(jì)程序時(shí),應(yīng)采用的原則之一是A)不限制goto語句的使用B)減少或撤消解說行C)程序越短越好D)程序構(gòu)造應(yīng)有助于讀者理解分析:濫用goto語句將使程序流程無規(guī)律,可讀性差,所以A)不選;解說行有利于對(duì)程序的理解,不該減少或撤消,B)也不選;程序的長(zhǎng)短要依照實(shí)質(zhì)狀況而論,而不是越短越好,C)也不選。故本題答案應(yīng)該為選項(xiàng)D)。(5)程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和A)對(duì)象成分B)變量成分C)語句成分D)傳輸成分分析:程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言,其基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算??刂瞥煞郑河脕順?gòu)造程序的邏輯控制構(gòu)造。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言。故本題答案應(yīng)該為選項(xiàng)D)。(1)循環(huán)鏈表的主要長(zhǎng)處是A)不再需要頭指針了B)從表中任一結(jié)點(diǎn)出發(fā)都能接見到整個(gè)鏈表C)在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不停開D)已知某個(gè)結(jié)點(diǎn)的地址后,能夠簡(jiǎn)單的找到它的直接前件分析:循環(huán)鏈表就是將單向鏈表中最后一個(gè)結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使整個(gè)鏈表構(gòu)成一個(gè)環(huán)形,這樣的構(gòu)造使得從表中的任一結(jié)點(diǎn)出發(fā)都能接見到整個(gè)鏈表。故本題答案應(yīng)該為選項(xiàng)B)。2)棧底至棧頂挨次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素能夠出棧,則出棧序列可能是A)ABCEDB)DCBEAC)DBCEAD)CDABE分析:棧操作原則上“后進(jìn)先出”,棧底至棧頂挨次存放元素A、B、C、D,則表示這4個(gè)元素中

D是最后進(jìn)棧,

B、C處于中間,

A最早進(jìn)棧。所以出棧時(shí)必定是先出

D,再出

C,最后出

A。故本題答案應(yīng)該為選項(xiàng)

B)。(3)對(duì)長(zhǎng)度為

N的線性表進(jìn)行次序查找,在最壞狀況下所需要的比較次數(shù)為

______。A)N+1B)NC)(N+1)/2D)N/2分析:[答案]B,很簡(jiǎn)單,我們的二級(jí)程序設(shè)計(jì)語言書中都有此算法,其余還要掌握二分法查找,這也是我們二級(jí)中??嫉摹D敲炊址ㄗ顗牡臓顩r為多少次呢?

log2

n

的最小整數(shù)值。比方

n為

4,最壞的狀況要比較

3次;n

18,最壞的狀況要比較

5次。(1)以下表達(dá)中正確的選項(xiàng)是A)線性表是線性構(gòu)造B)棧與隊(duì)列是非線性構(gòu)造C)線性鏈表是非線性構(gòu)造D)二叉樹是線性構(gòu)造分析:線性表是一種線性構(gòu)造,數(shù)據(jù)元素在線性表中的地址只取決于它們自己的序號(hào),即數(shù)據(jù)元素之間的相對(duì)地址是線性的;棧、隊(duì)列、線性鏈表實(shí)質(zhì)上也是線性表,故也是線性構(gòu)造;樹是一種簡(jiǎn)單的非線性構(gòu)造。故本題答案應(yīng)該為選項(xiàng)A)。(2)非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿足A)p->next==NULLB)p==NULLC)p->next=headD)p=head分析:循環(huán)鏈表就是將鏈表的最后一個(gè)結(jié)點(diǎn)指向鏈表頭結(jié)點(diǎn)(或第一個(gè)結(jié)點(diǎn))p->next=head。故本題答案應(yīng)該為選項(xiàng)C)。(3)已知數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),為節(jié)約時(shí)間,應(yīng)采用的算法是

,即A)堆排序B)直接插入排序C)快速排序D)直接選擇排序分析:當(dāng)數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),說明數(shù)據(jù)表A按要點(diǎn)字值基本有序,在待排序序列基本有序的狀況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng)B)。(1)假設(shè)線性表的長(zhǎng)度為n,則在最壞狀況下,冒泡排序需要的比較次數(shù)為A)log2nB)n2C)O(n1.5)D)n(n-1)/2分析:假設(shè)線性表的長(zhǎng)度為n,則在最壞狀況下,冒泡排序要經(jīng)過n/2遍的從前去后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。故本題答案應(yīng)該為選項(xiàng)D)。(2)算法分析的目的是A)找出數(shù)據(jù)構(gòu)造的合理性B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和靠譜性D)分析算法的效率以求改進(jìn)分析:算法分析是指對(duì)一個(gè)算法的運(yùn)轉(zhuǎn)時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)目級(jí),常用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度,提升算法的執(zhí)行效率。故本題答案應(yīng)該為選項(xiàng)D)。(3)線性表L=(a1,a2,a3,ai,an),以下說法正確的選項(xiàng)是A)每個(gè)元素都有一個(gè)直接前件和直接后件B)線性表中最少要有一個(gè)元素C)表中諸元素的擺列次序一定是由小到大或由大到小D)除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件分析:線性表能夠?yàn)榭毡?;第一個(gè)元素沒有直接前件,最后一個(gè)元素沒有直接后件;線性表的定義中,元素的擺列并無規(guī)定大小次序。故本題答案應(yīng)該為選項(xiàng)D)。(4)在單鏈表中,增添頭結(jié)點(diǎn)的目的是A)方便運(yùn)算的實(shí)現(xiàn)B)使單鏈表最少有一個(gè)結(jié)點(diǎn)C)表記表結(jié)點(diǎn)中首結(jié)點(diǎn)的地址D)說明單鏈表是線性表的鏈?zhǔn)絻?chǔ)存實(shí)現(xiàn)分析:頭結(jié)點(diǎn)不但表記了表中首結(jié)點(diǎn)的地址,并且依據(jù)單鏈表(包含頭結(jié)點(diǎn))的構(gòu)造,只要掌握了表頭,就能夠接見整個(gè)鏈表,所以增添頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn)。故本題答案應(yīng)該為選項(xiàng)A)。(1)算法的空間復(fù)雜度是指A)算法程序的長(zhǎng)度B)算法程序中的指令條數(shù)C)算法程序所占的儲(chǔ)存空間D)執(zhí)行過程中所需要的儲(chǔ)存空間分析:算法的復(fù)雜度主要包含算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。故本題答案應(yīng)該為選項(xiàng)D)。(2)用鏈表表示線性表的長(zhǎng)處是A)便于隨機(jī)存取B)花銷的儲(chǔ)存空間較次序儲(chǔ)存少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理次序與邏輯次序相同分析:鏈?zhǔn)絻?chǔ)存構(gòu)造戰(zhàn)勝了次序儲(chǔ)存構(gòu)造的弊端:它的結(jié)點(diǎn)空間能夠動(dòng)向申請(qǐng)和開釋;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要挪動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)絻?chǔ)存構(gòu)造下的線性表便于插入和刪除操作。故本題答案應(yīng)該為選項(xiàng)C)。(3)數(shù)據(jù)構(gòu)造中,與所使用的計(jì)算機(jī)沒關(guān)的是數(shù)據(jù)的A)儲(chǔ)存構(gòu)造B)物理構(gòu)造C)邏輯構(gòu)造D)物理和儲(chǔ)存構(gòu)造分析:數(shù)據(jù)構(gòu)造看法一般包含3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯構(gòu)造、儲(chǔ)存構(gòu)造及數(shù)據(jù)上的運(yùn)算會(huì)集。數(shù)據(jù)的邏輯構(gòu)造只抽象的反響數(shù)據(jù)元素之間的邏輯關(guān)系,而無論它在計(jì)算機(jī)中的儲(chǔ)存表示形式。故本題答案應(yīng)該為選項(xiàng)C)。(1)由兩個(gè)棧共享一個(gè)儲(chǔ)存空間的好處是A)減少存取時(shí)間,降低下溢發(fā)生的機(jī)率B)節(jié)約儲(chǔ)存空間,降低上溢發(fā)生的機(jī)率C)減少存取時(shí)間,降低上溢發(fā)生的機(jī)率D)節(jié)約儲(chǔ)存空間,降低下溢發(fā)生的機(jī)率分析:常常一個(gè)程序中要用到多個(gè)棧,為了不發(fā)生上溢錯(cuò)誤,就一定給每個(gè)棧分配一個(gè)足夠大的儲(chǔ)存空間。但實(shí)質(zhì)中,很難正確地預(yù)計(jì),若每個(gè)棧都分配過大的儲(chǔ)存空間,必定造成系統(tǒng)空間緊張;若讓多個(gè)棧共用一個(gè)足夠大的連續(xù)儲(chǔ)存空間,則可利用棧的動(dòng)向特征使他們的儲(chǔ)存空間互補(bǔ)。故本題答案應(yīng)該為選項(xiàng)B)。(2)設(shè)有兩個(gè)串p和q,求q在p中初次出現(xiàn)地址的運(yùn)算稱作A)連接B)模式般配C)求子串D)求串長(zhǎng)分析:子串的定位操作平常稱作串的模式般配,是各種串辦理系統(tǒng)中最重要的操作之一,算法的基本思想是:從主串的開始字符起和模式的第一個(gè)字符比較,若相等則連續(xù)比較后續(xù)字符,不然從主串的下一個(gè)字符起再重新和模式的字符比較,挨次類推,直至模式中的每一個(gè)字符挨次和主串中的一個(gè)連續(xù)的字符序列相等,稱般配成功,不然稱般配不行功。(3)以下關(guān)于隊(duì)列的表達(dá)中正確的選項(xiàng)是______。在隊(duì)列中只好插入數(shù)據(jù)在隊(duì)列中只好刪除數(shù)據(jù)隊(duì)列是先進(jìn)先出的線性表隊(duì)列是先進(jìn)后出的線性表分析:C隊(duì)列是先進(jìn)先出的,棧是先進(jìn)后出的,2者的差別必定要搞清楚。算法的空間復(fù)雜度是指算法程序的長(zhǎng)度算法程序中的指令條數(shù)執(zhí)行算法程序所占的儲(chǔ)存空間算法執(zhí)行過程中所需要的儲(chǔ)存空間【答案】D【分析】算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需要的內(nèi)存空間,其中包含算法程序所占的空間、輸入的初始數(shù)據(jù)所占的儲(chǔ)存空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包含算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)構(gòu)造所需要的附帶儲(chǔ)存空間。(2)線性表的鏈?zhǔn)絻?chǔ)存構(gòu)造是一種隨機(jī)構(gòu)造次序構(gòu)造索引構(gòu)造散列構(gòu)造【答案】B【分析】線性表的鏈?zhǔn)絻?chǔ)存構(gòu)造中的每一個(gè)儲(chǔ)存結(jié)點(diǎn)不但含有一個(gè)數(shù)據(jù)元素,還包含指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類儲(chǔ)存方式屬于次序儲(chǔ)存。(3)設(shè)有以下二叉樹:對(duì)此二叉樹先序遍歷的結(jié)果是A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA【答案】C【分析】二叉樹的遍歷分為先序、中序、后序三種不一樣方式。本題要求先序遍歷;遍歷順序應(yīng)該為:接見根結(jié)點(diǎn)->先序遍歷左子樹->先序遍歷右子樹。依照定義,先序遍歷序列是ABDECF。(1)算法分析的目的是______。A)找出數(shù)據(jù)構(gòu)造的合理性B)找出算法中輸入和輸出之間的關(guān)系C)分析算法的易懂性和靠譜性D)分析算法的效率以求改進(jìn)答案:D評(píng)析:算法分析是指對(duì)一個(gè)算法的運(yùn)轉(zhuǎn)時(shí)間和占用空間做定量的分析,一般計(jì)算出相應(yīng)的數(shù)目級(jí),常用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度,提升算法的執(zhí)行效率。(3)已知數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),為節(jié)約時(shí)間,應(yīng)采用的算法是______。A)堆排序B)直接插入排序C)快速排序D)直接選擇排序答案:B評(píng)析:當(dāng)數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),說明數(shù)據(jù)表A按要點(diǎn)字值基本有序,在待排序序列基本有序的狀況下,采用插入排序所用時(shí)間最少,故答案為選項(xiàng)B。(4)用鏈表表示線性表的長(zhǎng)處是______。A)便于插入和刪除操作B)數(shù)據(jù)元素的物理次序與邏輯次序相同C)花銷的儲(chǔ)存空間較次序儲(chǔ)存少D)便于隨機(jī)存取答案:A評(píng)析:鏈?zhǔn)絻?chǔ)存構(gòu)造戰(zhàn)勝了次序儲(chǔ)存構(gòu)造的弊端:它的結(jié)點(diǎn)空間能夠動(dòng)向申請(qǐng)和開釋;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要挪動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)絻?chǔ)存構(gòu)造下的線性表便于插入和刪除操作。1.以下數(shù)據(jù)構(gòu)造中不屬于線性數(shù)據(jù)構(gòu)造的是______。A、隊(duì)列B、線性表C、二叉樹D、棧分析:線性表、棧和隊(duì)列等數(shù)據(jù)構(gòu)造所表達(dá)和辦理的數(shù)據(jù)以線性構(gòu)造為組織形式。棧是一種特別的線性表,這類線性表只好在固定的一端進(jìn)行插入和刪除操作,同意插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只好從棧頂一端進(jìn)入,刪除時(shí),只好刪除棧頂?shù)脑兀捶讲疟徊迦氲脑?。所以棧又稱后進(jìn)先出表(LastInFirstOut);隊(duì)列可看作是插入在一端進(jìn)行,刪除在另一端進(jìn)行的線性表,同意插入的一端稱為隊(duì)尾,同意刪除的一端稱為隊(duì)頭。在隊(duì)列中,只好刪除隊(duì)頭元素,隊(duì)列的最后一個(gè)元素必定是最新入隊(duì)的元素。所以隊(duì)列又稱先進(jìn)先出表(FirstInFirstOut)。本題答案為C。以下關(guān)于棧的表達(dá)中正確的選項(xiàng)是______。A、在棧中只好插入數(shù)據(jù)B、在棧中只好刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表D、棧是先進(jìn)后出的線性表分析:棧是限制在一端進(jìn)行插入與刪除的線性表。棧是依照"先進(jìn)后出"的或后進(jìn)先出的原則組織數(shù)據(jù)的,所以,棧也被稱為"先進(jìn)后出"表或"后進(jìn)先出"表。本題答案是D。7.對(duì)長(zhǎng)度為N的線性表進(jìn)行次序查找,在最壞狀況下所需要的比較次數(shù)為______。A、N+1B、NC、(N+1)/2D、N/2分析:在進(jìn)行次序查找過程中,假如線性表中被查的元素是線性表中的最后一個(gè),也許被查元素根本不在線性表中,則為了查找這個(gè)元素需要與線性表中所有元素進(jìn)行比較,這是次序查找最壞的狀況。本題答案為B。在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。A、8B、16C、32D、15分析:依據(jù)二叉樹的性質(zhì):二叉樹第i(i≥1)層上至多有2i-1個(gè)結(jié)點(diǎn)。獲取第5層的結(jié)點(diǎn)數(shù)最多是16。本題答案為B。以下表達(dá)中正確的選項(xiàng)是______。A、線性表是線性構(gòu)造B、棧與隊(duì)列是非線性構(gòu)造C、線性鏈表是非線性構(gòu)造D、二叉樹是線性構(gòu)造分析:依據(jù)數(shù)據(jù)構(gòu)造中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)構(gòu)造分為兩大類型:線性構(gòu)造與非線性構(gòu)造。假如一個(gè)非空的數(shù)據(jù)構(gòu)造滿足以下兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)構(gòu)造為線性構(gòu)造,又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性構(gòu)造,而二叉樹是非線性構(gòu)造。本題答案是A。7.在以下選項(xiàng)中,哪個(gè)不是一個(gè)算法一般應(yīng)該擁有的基本特色______。A、確立性B、可行性C、無量性D、擁有足夠的情報(bào)分析:作為一個(gè)算法,一般應(yīng)擁有以下幾個(gè)基本特色??尚行源_立性有窮性擁有足夠的情報(bào)本題答案為C。在計(jì)算機(jī)中,算法是指______。A、盤問方法B、加工方法C、解題方案的正確而完好的描述D、排序方法分析:計(jì)算機(jī)算法是指解題方案的正確而完好的描述,它有以下幾個(gè)基本特色:可行性、確定性、有窮性和擁有足夠的情報(bào)。本題答案為C。7.在單鏈表中,增添頭結(jié)點(diǎn)的目的是______。A、方便運(yùn)算的實(shí)現(xiàn)B、使單鏈表最少有一個(gè)結(jié)點(diǎn)C、表記表結(jié)點(diǎn)中首結(jié)點(diǎn)的地址D、說明單鏈表是線性表的鏈?zhǔn)絻?chǔ)存實(shí)現(xiàn)分析:頭結(jié)點(diǎn)不但表記了表中首結(jié)點(diǎn)的地址,并且依據(jù)單鏈表(包含頭結(jié)點(diǎn))的構(gòu)造,只要掌握了表頭,就能夠接見整個(gè)鏈表,所以增添頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn)。本題答案為A。數(shù)據(jù)的儲(chǔ)存構(gòu)造是指______。A、儲(chǔ)存在外存中的數(shù)據(jù)B、數(shù)據(jù)所占的儲(chǔ)存空間量C、數(shù)據(jù)在計(jì)算機(jī)中的次序儲(chǔ)存方式D、數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)中的表示分析:本題觀察的是數(shù)據(jù)構(gòu)造的基本看法。數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)儲(chǔ)存空間中的存放形式形式稱為數(shù)據(jù)的儲(chǔ)存構(gòu)造(也稱數(shù)據(jù)的物理構(gòu)造)。故本題答案為D。以下關(guān)于棧的描述中錯(cuò)誤的選項(xiàng)是______。A、棧是先進(jìn)后出的線性表B、棧只好次序儲(chǔ)存C、棧擁有記憶作用D、對(duì)棧的插入與刪除操作中,不需要改變棧底指針分析:本題觀察的是棧和隊(duì)列。棧是一種特別的線性表,這類線性表只好在固定的一端進(jìn)行插入和刪除操作,同意插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只好從棧頂一端進(jìn)入,刪除時(shí),只好刪除棧頂?shù)脑?,即方才被插入的元素。所以棧又稱先進(jìn)后出表(FILO-FirstInLastOut)。線性表能夠次序儲(chǔ)存,也能夠鏈?zhǔn)絻?chǔ)存,而棧是一種線性表,也能夠采用鏈?zhǔn)絻?chǔ)存構(gòu)造。故本題答案為B。關(guān)于長(zhǎng)度為n的線性表,在最壞狀況下,以下各排序法所對(duì)應(yīng)的比較次數(shù)中正確的選項(xiàng)是______。A、冒泡排序?yàn)閚/2B、冒泡排序?yàn)閚C、快速排序?yàn)閚D、快速排序?yàn)閚(n-1)/2分析:本題觀察的是基本排序算法。假設(shè)線性表的長(zhǎng)度為n,則在最壞狀況下,冒泡排序需要經(jīng)過n/2遍的從前去后掃描和n/2遍的從后往前掃描,需要比較次數(shù)為n(n-1)/2??焖倥判蚍ǖ淖顗臓顩r比較次數(shù)也是n(n-1)/2。故本題答案為D。4.對(duì)長(zhǎng)度為n的線性表進(jìn)行次序查找,在最壞狀況下所需要的比較次數(shù)為______。A、log2nB、n/2C、nD、n+1分析:本題觀察的是次序查找。在進(jìn)行次序查找過程中,假如線性表中的第一個(gè)元素就是被查找元素,則只要做一次比較就查找成功,查找效率最高;但假如被查找的元素是線性表中的最后一個(gè)元素,也許被查找的元素根本就不在線性表中,則為了查找這個(gè)元素需要與線性表中所有的元素進(jìn)行比較,這是次序查找的最壞狀況。所以對(duì)長(zhǎng)度為n的線性表進(jìn)行次序查找,在最壞狀況下需要比較n次。故本題答案為C。5.以下關(guān)于線性鏈表的描述中正確的選項(xiàng)是______。A、儲(chǔ)存空間不必定是連續(xù),且各元素的儲(chǔ)存次序是任意的B、儲(chǔ)存空間不必定是連續(xù),且前件元素必定儲(chǔ)存在后件元素的前面C、儲(chǔ)存空間一定連續(xù),且前件元素必定儲(chǔ)存在后件元素的前面D、儲(chǔ)存空間一定連續(xù),且各元素的儲(chǔ)存次序是任意的分析:本題觀察的是線性單鏈表、雙向鏈表與循環(huán)鏈表的構(gòu)造及其基本運(yùn)算。在鏈?zhǔn)絻?chǔ)存構(gòu)造中,儲(chǔ)存數(shù)據(jù)構(gòu)造的儲(chǔ)存空間能夠不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的儲(chǔ)存次序與數(shù)據(jù)元素之間的邏輯關(guān)系能夠不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確立的。故本題答案為A。算法的時(shí)間復(fù)雜度是指______。A、執(zhí)行算法程序所需要的時(shí)間B、算法程序的長(zhǎng)度C、算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D、算法程序中的指令條數(shù)分析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。為了能夠比較客觀地反響出一個(gè)算法的效率,在胸襟一個(gè)算法的工作量時(shí),不但應(yīng)該與所使用的計(jì)算機(jī)、程序設(shè)計(jì)語言以及程序編制者沒關(guān),并且還應(yīng)該與算法實(shí)現(xiàn)過程中的好多細(xì)節(jié)沒關(guān)。為此,能夠用算法在執(zhí)行過程中所需基本運(yùn)算的執(zhí)行次數(shù)來胸襟算法的工作量。本題答案是C。以下表達(dá)中正確的選項(xiàng)是______。A、線性表是線性構(gòu)造B、棧與隊(duì)列是非線性構(gòu)造C、線性鏈表是非線性構(gòu)造D、二叉樹是線性構(gòu)造分析:依據(jù)數(shù)據(jù)構(gòu)造中各數(shù)據(jù)元素之間前后間關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)構(gòu)造分為兩大類型:線性構(gòu)造與非線性構(gòu)造。假如一個(gè)非空的數(shù)據(jù)構(gòu)造滿足以下兩個(gè)條件:(1)有且只有一個(gè)根結(jié)點(diǎn);(2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)構(gòu)造為線性構(gòu)造,又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性構(gòu)造,而二叉樹是非線性構(gòu)造。本題答案是A。3.設(shè)一棵完好二叉樹共有699個(gè)結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為______。A、349B、350C、255D、351分析:所謂完好二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺乏右側(cè)的若干結(jié)點(diǎn)。擁有

n個(gè)結(jié)點(diǎn)的完好二叉樹,其父結(jié)點(diǎn)數(shù)為

int(n/2)

,而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父結(jié)點(diǎn)數(shù)。本題

n=699,故父結(jié)點(diǎn)數(shù)等于

int(699/2)=349

,葉子結(jié)點(diǎn)數(shù)等于

699-349=350。本題答案是B。算法的空間復(fù)雜度是指______。A、算法程序的長(zhǎng)度B、算法程序中的指令條數(shù)C、算法程序所占的儲(chǔ)存空間D、算法執(zhí)行過程中所需要的儲(chǔ)存空間分析:一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需的內(nèi)存空間。一個(gè)算法所占用的儲(chǔ)存空間包含算法程序所占的空間、輸入的初始數(shù)據(jù)所占的儲(chǔ)存空間以及算法執(zhí)行過程中所需要的額外空間。本題答案是D。以下關(guān)于棧的表達(dá)中正確的選項(xiàng)是______。A、在棧中只好插入數(shù)據(jù)B、在棧中只好刪除數(shù)據(jù)C、棧是先進(jìn)先出的線性表D、棧是先進(jìn)后出的線性表分析:棧是限制在一端進(jìn)行插入與刪除的線性表。棧是依照"先進(jìn)后出"的或后進(jìn)先出的原則組織數(shù)據(jù)的,所以,棧也被稱為"先進(jìn)后出"表或"后進(jìn)先出"表。本題答案是D。3.在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為______。A、32B、31C、16D、15分析:所謂滿二叉樹是指這樣的一種二叉樹:除最后一層外,每層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)。這就是說,在滿二叉樹中,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第KK-1個(gè)結(jié)點(diǎn),且深度為m的滿二叉樹有m個(gè)結(jié)點(diǎn)。層上有22在滿二叉樹中,最后一層的結(jié)點(diǎn)個(gè)數(shù)就是葉子結(jié)點(diǎn)的個(gè)數(shù),本題中深度為5,故葉子結(jié)點(diǎn)數(shù)為25-1=24=16。本題答案是C。1.算法一般都能夠用哪幾種控制構(gòu)造組合而成______。A、循環(huán)、分支、遞歸B、次序、循環(huán)、嵌套C、循環(huán)、遞歸、選擇D、次序、選擇、循環(huán)分析:算法的控制構(gòu)造給出了算法的基本框架,它不但決定了算法中各操作的執(zhí)行次序,而且也直接反響了算法的設(shè)計(jì)能否吻合構(gòu)造化原則。一個(gè)算法一般都能夠用次序、選擇、循環(huán)三種基本控制構(gòu)造組合而成。本題答案為D。數(shù)據(jù)的儲(chǔ)存構(gòu)造是指______。A、數(shù)據(jù)所占的儲(chǔ)存空間量B、數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)中的表示C、數(shù)據(jù)在計(jì)算機(jī)中的次序儲(chǔ)存方式D、儲(chǔ)存在外存中的數(shù)據(jù)分析:數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)儲(chǔ)存空間中的存放形式稱為數(shù)據(jù)的儲(chǔ)存構(gòu)造。本題答案為B。設(shè)有以下二叉樹:對(duì)此二叉樹中序遍歷的結(jié)果為______。A、ABCDEFB、DBEAFCC、ABDECFD、DEBFCA分析:所謂中序遍歷是指在接見根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,第一遍歷左子樹,而后接見根結(jié)點(diǎn),最后遍歷右子樹;并且在遍歷左、右子樹時(shí),依舊先遍歷左子樹,而后接見根結(jié)點(diǎn),最后遍歷右子樹。本題答案為B。在計(jì)算機(jī)中,算法是指______。A、盤問方法B、加工方法C、解題方案的正確而完好的描述D、排序方法分析:計(jì)算機(jī)算法是指解題方案的正確而完好的描述,它有以下幾個(gè)基本特色:可行性、確定性、有窮性和擁有足夠的情報(bào)。本題答案為C。棧和隊(duì)列的共同點(diǎn)是______。A、都是先進(jìn)后出B、都是先進(jìn)先出C、只同意在端點(diǎn)處插入和刪除元素D、沒有共同點(diǎn)分析:棧和隊(duì)列都是一種特別的操作受限的線性表,只同意在端點(diǎn)處進(jìn)行插入和刪除。二者的差別是:棧只同意在表的一端進(jìn)行插入或刪除操作,是一種"后進(jìn)先出"的線性表;而隊(duì)列只同意在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種"先進(jìn)先出"的線性表。本題答案為C。已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。A、cedbaB、acbedC、decabD、deabc分析:依照后序遍歷序列可確立根結(jié)點(diǎn)為c;再依照中序遍歷序列可知其左子樹由deba成,右子樹為空;又由左子樹的后序遍歷序列可知其根結(jié)點(diǎn)為e,由中序遍歷序列可知其左子樹為d,右子樹由ba構(gòu)成。求得該二叉樹的前序遍歷序列為選項(xiàng)A。

構(gòu)本題答案為A。4.在以下幾種排序方法中,要求內(nèi)存量最大的是______。A、插入排序B、選擇排序C、快速排序D、歸并排序分析:快速排序的基本思想是,經(jīng)過一趟排序?qū)⒋判蛴涗浨懈畛瑟?dú)立的兩部分,其中一部分記錄的要點(diǎn)字均比另一部分記錄的要點(diǎn)字小,再分別對(duì)這兩部分記錄連續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無序序列中的各元素挨次插入到已經(jīng)有序的線性表中,從而獲取一個(gè)新的序列;選擇排序的基本思想是:掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的地址),而后對(duì)剩下的子表采用相同的方法,直到表空為止;歸并排序是將兩個(gè)或兩個(gè)以上的有序表組合成一個(gè)新的有序表。本題答案為D。1.數(shù)據(jù)構(gòu)造中,與所使用的計(jì)算機(jī)沒關(guān)的是數(shù)據(jù)的______。A、儲(chǔ)存構(gòu)造B、物理構(gòu)造C、邏輯構(gòu)造D、物理和儲(chǔ)存構(gòu)造分析:數(shù)據(jù)構(gòu)造看法一般包含3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯構(gòu)造、儲(chǔ)存構(gòu)造及數(shù)據(jù)上的運(yùn)算會(huì)集。數(shù)據(jù)的邏輯構(gòu)造只抽象的反響數(shù)據(jù)元素之間的邏輯關(guān)系,而無論它在計(jì)算機(jī)中的存儲(chǔ)表示形式。本題答案為C。棧底至棧頂挨次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素能夠出棧,則出棧序列可能是______。A、ABCEDB、DBCEAC、CDABED、DCBEA分析:棧操作原則是素中D是最后進(jìn)棧,

"后進(jìn)先出",棧底至棧頂挨次存放元素A、B、C、D,則表示這B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)必定是先出D,再出

4個(gè)元C,最后出A。本題答案為D。線性表的次序儲(chǔ)存構(gòu)造和線性表的鏈?zhǔn)絻?chǔ)存構(gòu)造分別是______。A、次序存取的儲(chǔ)存構(gòu)造、次序存取的儲(chǔ)存構(gòu)造B、隨機(jī)存取的儲(chǔ)存構(gòu)造、次序存取的儲(chǔ)存構(gòu)造C、隨機(jī)存取的儲(chǔ)存構(gòu)造、隨機(jī)存取的儲(chǔ)存構(gòu)造D、任意存取的儲(chǔ)存構(gòu)造、任意存取的儲(chǔ)存構(gòu)造分析:次序儲(chǔ)存構(gòu)造中,數(shù)據(jù)元素存放在一組地址連續(xù)的儲(chǔ)存單元中,每個(gè)數(shù)據(jù)元素地址可經(jīng)過公式LOC(ai)=LOC(a1)+(i-1)L計(jì)算獲取,從而實(shí)現(xiàn)了隨機(jī)存取。關(guān)于鏈?zhǔn)絻?chǔ)存構(gòu)造,要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開始,這是一種次序存取的儲(chǔ)存構(gòu)造。本題答案為B。4.在單鏈表中,增添頭結(jié)點(diǎn)的目的是______。A、方便運(yùn)算的實(shí)現(xiàn)B、使單鏈表最少有一個(gè)結(jié)點(diǎn)C、表記表結(jié)點(diǎn)中首結(jié)點(diǎn)的地址D、說明單鏈表是線性表的鏈?zhǔn)絻?chǔ)存實(shí)現(xiàn)分析:頭結(jié)點(diǎn)不但表記了表中首結(jié)點(diǎn)的地址,并且依據(jù)單鏈表(包含頭結(jié)點(diǎn))的構(gòu)造,只要掌握了表頭,就能夠接見整個(gè)鏈表,所以增添頭結(jié)點(diǎn)目的是為了便于運(yùn)算的實(shí)現(xiàn)。本題答案為A。下邊表達(dá)正確的選項(xiàng)是______。A、算法的執(zhí)行效率與數(shù)據(jù)的儲(chǔ)存構(gòu)造沒關(guān)B、算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C、算法的有窮性是指算法一定能在執(zhí)行有限個(gè)步驟以后停止D、以上三種描述都不對(duì)分析:算法的設(shè)計(jì)能夠避開詳盡的計(jì)算機(jī)程序設(shè)計(jì)語言,但算法的實(shí)現(xiàn)一定借助程序設(shè)計(jì)語言中供給的數(shù)據(jù)種類及其算法。數(shù)據(jù)構(gòu)造和算法是計(jì)算機(jī)科學(xué)的兩個(gè)重要支柱。它們是一個(gè)不行切割的整體。算法在運(yùn)轉(zhuǎn)過程中需輔助儲(chǔ)存空間的大小稱為算法的空間復(fù)雜度。算法的有窮性是指一個(gè)算法一定在執(zhí)行有限的步驟今后結(jié)束。本題答案為C。2.設(shè)一棵完好二叉樹共有699個(gè)結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為______。A、349B、350C、255D、351分析:所謂完好二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺乏右側(cè)的若干結(jié)點(diǎn)。擁有

n個(gè)結(jié)點(diǎn)的完好二叉樹,其父結(jié)點(diǎn)數(shù)為

int(n/2)

,而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父結(jié)點(diǎn)數(shù)。本題

n=699,故父結(jié)點(diǎn)數(shù)等于

int(699/2)=349

,葉子結(jié)點(diǎn)數(shù)等于

699-349=350。本題答案是B。已知數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),為節(jié)約時(shí)間,應(yīng)采用的算法是______。A、堆排序B、直接插入排序C、快速排序D、直接選擇排序分析:當(dāng)數(shù)據(jù)表A中每個(gè)元素距其最后地址不遠(yuǎn),說明數(shù)據(jù)表A按要點(diǎn)字值基本有序,在待排序序列基本有序的狀況下,采用插入排序所用時(shí)間最少。本題答案為B。二、填空題1)問題辦理方案的正確而完好的描述稱為_____?!敬鸢浮克惴ɑ虺绦蚧蛄鞒虉D【分析】算法是問題辦理方案正確而完好的描述(2)對(duì)長(zhǎng)度為10的線性表進(jìn)行冒泡排序,最壞狀況下需要比較的次數(shù)為____?!敬鸢浮?5【分析】在冒泡排序中,最壞狀況下,需要比較的次數(shù)為n(n-1/2),也就是:10*(lO-1)2=45(3)算法復(fù)雜度主要包含時(shí)間復(fù)雜度和____【答案】空間【分析】算法的復(fù)雜度主要包含時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。(4)一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為_______【答案】32【分析】二叉樹的一個(gè)性質(zhì)是,在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。此,26-1等于32。所以答案為32。(5)數(shù)據(jù)構(gòu)造分為邏輯構(gòu)造和儲(chǔ)存構(gòu)造,循環(huán)隊(duì)列屬于______構(gòu)造。【答案】?jī)?chǔ)存或物理或儲(chǔ)存構(gòu)造或物理構(gòu)造【分析】數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)儲(chǔ)存空間中的存放形式稱為數(shù)據(jù)的儲(chǔ)存構(gòu)造(也稱數(shù)據(jù)的物理構(gòu)造)。所謂循環(huán)隊(duì)列,就是將隊(duì)列儲(chǔ)存空間的最后一個(gè)地址繞到第一個(gè)地址,形成邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用。可知,循環(huán)隊(duì)列應(yīng)該是物理構(gòu)造。(6)以下軟件系統(tǒng)構(gòu)造圖的寬度為____。A【答案】3BCD【分析】題目中的圖形是倒置的樹狀構(gòu)造,這是用層次圖表示的軟件構(gòu)造。構(gòu)造圖中同一EF層模塊的最大模塊個(gè)數(shù)稱為構(gòu)造的寬度,它表示控制的總分布。依據(jù)上述構(gòu)造圖寬度的定義,從圖中能夠看出,第二層的模塊個(gè)數(shù)最多,即為3。所以,這個(gè)系統(tǒng)構(gòu)造圖的寬度就為3。(7)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)構(gòu)造是____。【答案】?;騍tack【分析】棧和隊(duì)列是兩種特別的線性表,其特別性在于對(duì)它們的操作只好在表的端點(diǎn)進(jìn)行。棧中的數(shù)據(jù)依照后進(jìn)先出的原則進(jìn)行組織,而隊(duì)列中的數(shù)據(jù)是依照先進(jìn)先出的原則進(jìn)行組織。所以,本題的正確答案是棧(Stack)。(8)數(shù)據(jù)構(gòu)造分為線性構(gòu)造和非線性構(gòu)造,帶鏈的隊(duì)列屬于___?!敬鸢浮烤€性構(gòu)造【分析】數(shù)據(jù)構(gòu)造分為線性構(gòu)造和非線性構(gòu)造,其中隊(duì)列是屬于線性構(gòu)造。隊(duì)列有兩種存儲(chǔ)構(gòu)造,一種是次序儲(chǔ)存構(gòu)造,稱為次序隊(duì)列;另一種是鏈?zhǔn)絻?chǔ)存構(gòu)造,稱為鏈隊(duì)列。題目中所說的帶鏈的隊(duì)列就是指鏈隊(duì)列。無論隊(duì)列采納哪一種儲(chǔ)存構(gòu)造,其實(shí)質(zhì)還是隊(duì)列,還屬于一種線性構(gòu)造。所以,本題的正確答案是線性構(gòu)造。在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為_______?!敬鸢浮?3或26-1【分析】本題觀察數(shù)據(jù)構(gòu)造中滿二叉樹的性質(zhì)。在滿二叉樹中,每層結(jié)點(diǎn)都是滿的,即每層結(jié)點(diǎn)都擁有最大結(jié)點(diǎn)數(shù)。深度為k的滿二叉樹,一共有2k-1個(gè)結(jié)點(diǎn),其中包含度為2的結(jié)點(diǎn)。所以,深度為7的滿二叉樹,一共有27-1個(gè)結(jié)點(diǎn),即127個(gè)結(jié)點(diǎn)。依據(jù)二叉樹的另一條性質(zhì),對(duì)任意一棵二叉樹,若終端結(jié)點(diǎn)(即葉子結(jié)點(diǎn))數(shù)為n0,而其度數(shù)為

2的結(jié)點(diǎn)數(shù)為

n2則

n0=n2+1。設(shè)試試為

7的滿二叉樹中,度為

2的結(jié)點(diǎn)個(gè)數(shù)為

x,

則改樹中中子結(jié)點(diǎn)的個(gè)數(shù)為

x+1。則應(yīng)滿足

x+(x+1)=127,

解該方程獲取,

x的值為

63。結(jié)果上述分析可知,在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為63。線性表的儲(chǔ)存構(gòu)造主要分為次序儲(chǔ)存構(gòu)造和鏈?zhǔn)絻?chǔ)存構(gòu)造。隊(duì)列是一種特別的線性表,循環(huán)隊(duì)列是隊(duì)列的_____儲(chǔ)存構(gòu)造?!敬鸢浮看涡颉痉治觥勘绢}觀察數(shù)據(jù)構(gòu)造的隊(duì)列。隊(duì)列是一種特別的線性表,即限制在表的一端進(jìn)行刪除,在表的另一端進(jìn)行插入操作的線性表。同意刪除的一端叫做隊(duì)頭,同意插入的一端叫做隊(duì)尾。線性表的儲(chǔ)存構(gòu)造主要分為次序儲(chǔ)存構(gòu)造和鏈?zhǔn)絻?chǔ)存構(gòu)造。當(dāng)隊(duì)列用鏈?zhǔn)絻?chǔ)存構(gòu)造實(shí)現(xiàn)時(shí),就稱為鏈隊(duì)列;當(dāng)隊(duì)列用次序儲(chǔ)存構(gòu)造實(shí)現(xiàn)時(shí),就稱為循環(huán)表。所以,本題劃線處應(yīng)填入“次序”。對(duì)以下二叉樹進(jìn)行中序遍歷的結(jié)果為____?!敬鸢浮緼CBDFEHGP【分析】本題觀察數(shù)據(jù)構(gòu)造中二叉樹的遍歷。依據(jù)對(duì)二叉樹根的接見先后次序不一樣,分別稱為前序遍歷、中序遍歷和后序遍歷。這三種遍歷都是遞歸定義的,即在其子樹中也依照相同的規(guī)律進(jìn)行遍歷。下邊就是中序遍歷方法的遞歸定義。當(dāng)二叉樹的根不為空時(shí),挨次執(zhí)行以下3個(gè)操作:按中序遍歷左子樹。接見根結(jié)點(diǎn)。按中序遍歷右子樹。依據(jù)如上前序遍歷規(guī)則,來遍歷本題中的二叉樹。第一遍歷F的左子樹,相同按中序遍歷。先遍歷C的左子樹,即結(jié)點(diǎn)A,而后接見c,接著接見c的右子樹,相同按中序遍歷c的右子樹,先接見結(jié)點(diǎn)B,而后接見結(jié)點(diǎn)D,因?yàn)榻Y(jié)點(diǎn)D沒有右子樹,所以遍歷完C的右子樹,以上就遍歷完根結(jié)點(diǎn)F的左子樹。而后接見根結(jié)點(diǎn)F,接下來遍歷F的右子樹.相同按中序遍歷。第一接見E的左子樹,E的左子樹為空,則接見結(jié)點(diǎn)E,而后接見結(jié)點(diǎn)E的右子樹,相同按中序遍歷。第一接見G的左子樹,即H,而后接見結(jié)點(diǎn)G,最后接見G的右子樹P。以上就把整個(gè)二叉樹遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。所以.劃線處應(yīng)填入“ACBDFEHGP”。(11)用鏈表表示線性表的突出長(zhǎng)處是。答案:插入和刪除操作方便,不用挪動(dòng)數(shù)據(jù)元素,執(zhí)行效率高分析:為了戰(zhàn)勝次序表中插入和刪除時(shí)需要挪動(dòng)大批數(shù)據(jù)元素的弊端,引入了鏈?zhǔn)絻?chǔ)存結(jié)構(gòu)。鏈表表示線性表的突出長(zhǎng)處是插入和刪除操作方便,不用挪動(dòng)數(shù)據(jù)元素,執(zhí)行效率高。(12)在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的狀況下,需要的比較次數(shù)為。答案:log2n分析:關(guān)于長(zhǎng)度為n的有序線性表,在最壞狀況下,二分查找只要要比較log2n次,而順序查找需要比較n次。(11)數(shù)據(jù)構(gòu)造分為邏輯構(gòu)造與儲(chǔ)存構(gòu)造,線性鏈表屬于。答案:儲(chǔ)存構(gòu)造分析:數(shù)據(jù)的邏輯構(gòu)造是指反響數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)構(gòu)造;數(shù)據(jù)的儲(chǔ)存構(gòu)造是指數(shù)據(jù)的邏輯構(gòu)造在計(jì)算機(jī)儲(chǔ)存空間中的存放形式。在數(shù)據(jù)的儲(chǔ)存構(gòu)造中,不但要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息。(11)冒泡排序算法在最好的狀況下的元素交換次數(shù)為。答案:0分析:依據(jù)冒泡排序算法思想可知,若待排序的初始序列為“正序”序列,則只要進(jìn)行一趟排序,在排序過程中進(jìn)行n-1次要點(diǎn)字間的比較,且不挪動(dòng)和交換記錄,這類狀況是冒泡排序的最好狀況,故冒泡排序算法在最好的狀況下的元素交換次數(shù)為0。(13)若串s="MathTypes",則其子串的數(shù)目是。答案:46分析:串s中共有9個(gè)字符,因?yàn)榇凶址鞑幌嗤?,則其子串中有0個(gè)字符的1個(gè)(空串),1個(gè)字符的9個(gè),2個(gè)字符的8個(gè),3個(gè)字符的7個(gè),4個(gè)字符的6個(gè),5個(gè)字符的5個(gè),6個(gè)字符的4個(gè),7個(gè)字符的3個(gè),8個(gè)字符的2個(gè),9個(gè)字符的1個(gè),共有1+2+3+4+5+6+7+8+9+1=46。(11)在算法正確的前提下,議論一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是答案:時(shí)間復(fù)雜度和空間復(fù)雜度

。(12)將代數(shù)式變換成程序設(shè)計(jì)中的表達(dá)式為答案:(x+y*y)/(a+b)(11)數(shù)據(jù)的邏輯構(gòu)造有線性構(gòu)造和答案:非線性構(gòu)造

兩大類。

。分析:數(shù)據(jù)的邏輯構(gòu)造有線性構(gòu)造和非線性構(gòu)造兩大類。(12)次序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址的儲(chǔ)存單元中。答案:也相鄰分析:常用的儲(chǔ)存表示方法有4種,次序儲(chǔ)存、鏈?zhǔn)絻?chǔ)存、索引儲(chǔ)存、散列儲(chǔ)存。其中,次序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址也相鄰的儲(chǔ)存單元中。(11)當(dāng)線性表采用次序儲(chǔ)存構(gòu)造實(shí)現(xiàn)儲(chǔ)存時(shí),其主要特色是。答案:邏輯構(gòu)造中相鄰的結(jié)點(diǎn)在儲(chǔ)存構(gòu)造中仍相鄰分析:次序儲(chǔ)存構(gòu)造的主要特色是數(shù)據(jù)元素按線性表的邏輯次序,挨次存放在一組地址連續(xù)的儲(chǔ)存單元中。在儲(chǔ)存單元中各元素的物理地址和邏輯構(gòu)造中各結(jié)點(diǎn)間的相鄰關(guān)系是一致的。設(shè)一棵完好二叉樹共有500個(gè)結(jié)點(diǎn),則在該二叉樹中有______個(gè)葉子結(jié)點(diǎn)。分析:所謂完好二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺乏右側(cè)的若干結(jié)點(diǎn)。擁有

n個(gè)結(jié)點(diǎn)的完好二叉樹,其父結(jié)點(diǎn)數(shù)為

int(n/2)

,而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父結(jié)點(diǎn)數(shù)。本題

n=500,故父結(jié)點(diǎn)數(shù)等于

int(500/2)=250

,葉子結(jié)點(diǎn)數(shù)等于

500-250=250。標(biāo)準(zhǔn)答案為:

25051.算法的基本特色是可行性、確立性、

______和擁有足夠的情報(bào)。分析:

算法是指解題方案的正確而完好的描述。

它有

4個(gè)基本特色,分別是可行性、確立性、有窮性和擁有足夠的情報(bào)。標(biāo)準(zhǔn)答案為:有窮性52.次序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址______的儲(chǔ)存單元中。分析:常用的儲(chǔ)存表示方法有4種,次序儲(chǔ)存、鏈?zhǔn)絻?chǔ)存、索引儲(chǔ)存、散列儲(chǔ)存。其中,順序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址也相鄰的儲(chǔ)存單元中。標(biāo)準(zhǔn)答案為:相鄰(1)算法的復(fù)雜度主要包含空間復(fù)雜度和【1】復(fù)雜度?!敬鸢浮靠臻g【分析】算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。(2)在線性構(gòu)造中,隊(duì)列的操作次序是先進(jìn)先出,而棧的操作次序是【2】。【答案】先進(jìn)后出【分析】隊(duì)列和棧都是線性構(gòu)造,但是不一樣之處在于隊(duì)列的操作次序是先進(jìn)先出,而棧的操作次序是先進(jìn)后出。(2)在最壞狀況下,堆排序需要比較的次數(shù)為【2】。答案:O(nlog2n)評(píng)析:在最壞狀況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2;簡(jiǎn)單插入排序所需要的比較次數(shù)為n(n-1)/2;希爾排序所需要的比較次數(shù)為O(n1.5);堆排序所需要的比較次數(shù)為O(nlog

2

n

)。(3)若串

s="Program"

,則其子串的數(shù)目是

【3】。答案:

29評(píng)析:串

s中共有

7個(gè)字符,因?yàn)榇凶址鞑幌嗤瑒t其子串中有

0個(gè)字符的

1個(gè)(空串),1個(gè)字符的7個(gè),2個(gè)字符的6個(gè),3個(gè)字符的5個(gè),4個(gè)字符的4個(gè),5個(gè)字符的3個(gè),6

個(gè)字符的

2個(gè),7

個(gè)字符的

1個(gè),共有

1+2+3+4+5+6+7+1=29。51.實(shí)現(xiàn)算法所需的儲(chǔ)存單元多少和算法的工作量大小分別稱為算法的

______。分析:

算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)停止算法和所需儲(chǔ)存空間大小的預(yù)計(jì)。

算法所需儲(chǔ)存空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。標(biāo)準(zhǔn)答案為:空間復(fù)雜度和時(shí)間復(fù)雜度數(shù)據(jù)構(gòu)造包含數(shù)據(jù)的邏輯構(gòu)造、數(shù)據(jù)的______以及對(duì)數(shù)據(jù)的操作運(yùn)算。分析:數(shù)據(jù)構(gòu)造包含3個(gè)方面,即數(shù)據(jù)的邏輯構(gòu)造、數(shù)據(jù)的儲(chǔ)存構(gòu)造及對(duì)數(shù)據(jù)的操作運(yùn)算。標(biāo)準(zhǔn)答案為:儲(chǔ)存構(gòu)造53在最壞狀況下,冒泡排序的時(shí)間復(fù)雜度為______。分析:冒泡排序法是一種最簡(jiǎn)單的交換類排序方法,它是經(jīng)過相鄰數(shù)據(jù)元素的交換逐漸將線性表變?yōu)橛行?。假設(shè)線性表的長(zhǎng)度為

n,則在最壞的狀況下,冒泡排序需要經(jīng)過

n/2

遍的從前去后的掃描和

n/2

遍的從后往前的掃描,需要的比較次數(shù)為

n(n-1)/2

。標(biāo)準(zhǔn)答案為:n(n-1)/2或n*(n-1)/2或O(n(n-1)/2)54.次序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址

或O(n*(n-1)/2)______的儲(chǔ)存單元中。分析:常用的儲(chǔ)存表示方法有4種,次序儲(chǔ)存、鏈?zhǔn)絻?chǔ)存、索引儲(chǔ)存、散列儲(chǔ)存。其中,順序儲(chǔ)存方法是把邏輯上相鄰的結(jié)點(diǎn)儲(chǔ)存在物理地址也相鄰的儲(chǔ)存單元中。標(biāo)準(zhǔn)答案為:相鄰在先左后右的原則下,依據(jù)接見根結(jié)點(diǎn)的次序,二叉樹的遍歷能夠分為三種:前序遍歷、______遍歷和后序遍歷。標(biāo)準(zhǔn)答案為:中序分析:在先左后右的原則下,依據(jù)接見根結(jié)點(diǎn)的次序,二叉樹的遍歷能夠分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在接見根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,第一接見根結(jié)點(diǎn),而后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),依舊先接見根結(jié)點(diǎn),而后遍歷左子樹,最后遍歷右子樹。中序遍歷指在接見根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,第一遍歷左子樹,而后接見根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),依舊先遍歷左子樹,而后接見根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在接見根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,第一遍歷右子樹,而后接見根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),依舊先遍歷右子樹,而后接見根結(jié)點(diǎn),最后遍歷左子樹。數(shù)據(jù)構(gòu)造包含數(shù)據(jù)的邏輯構(gòu)造、數(shù)據(jù)的______以及對(duì)數(shù)據(jù)的操作運(yùn)算。標(biāo)準(zhǔn)答案為:儲(chǔ)存構(gòu)造分析:數(shù)據(jù)構(gòu)造包含3個(gè)方面,即數(shù)據(jù)的邏輯構(gòu)造、數(shù)據(jù)的儲(chǔ)存構(gòu)造及對(duì)數(shù)據(jù)的操作運(yùn)算。50.算法擁有五個(gè)特征,以下選項(xiàng)中不屬于算法特征的是______。A、有窮性B、簡(jiǎn)潔性C、可行性D、確立性分析:本題觀察的是算法的特征。有窮性、確立性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性是算法的五大特征。故本題答案為B。51.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有個(gè)葉子結(jié)點(diǎn)。標(biāo)準(zhǔn)答案為:19分析:本題觀察的是二叉樹的定義及其儲(chǔ)存構(gòu)造。二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。55.問題辦理方案的正確而完好的描述稱為。標(biāo)準(zhǔn)答案為:算法本題觀察的是算法的基本看法。分析:所謂算法是指解題方案的正確而完好的描述。

2的結(jié)設(shè)一棵完好二叉樹共有500個(gè)結(jié)點(diǎn),則在該二叉樹中有______個(gè)葉子結(jié)點(diǎn)。標(biāo)準(zhǔn)答案為:250分析:所謂完好二叉樹是指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值;在最后一層上只缺乏右側(cè)的若干結(jié)點(diǎn)。擁有n個(gè)結(jié)點(diǎn)的完好二叉樹,其父結(jié)點(diǎn)數(shù)為int(n/2)結(jié)點(diǎn)數(shù)。本題n=500,故父結(jié)點(diǎn)數(shù)等于int(500/2)=250

,而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去父,葉子結(jié)點(diǎn)數(shù)等于500-250=250。在最壞狀況下,冒泡排序的時(shí)間復(fù)雜度為______。標(biāo)準(zhǔn)答案為:n(n-1)/2或n*(n-1)/2或O(n(n-1)/2)或O(n*(n-1)/2)分析:冒泡排序法是一種最簡(jiǎn)單的交換類排序方法,它是經(jīng)過相鄰數(shù)據(jù)元素的交換逐漸將線性表變?yōu)橛行颉<僭O(shè)線性表的長(zhǎng)度為n,則在最壞的狀況下,冒泡排序需要經(jīng)過n/2遍的從前去后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。數(shù)據(jù)構(gòu)造包含數(shù)據(jù)的______構(gòu)造和數(shù)據(jù)的儲(chǔ)存構(gòu)造。標(biāo)準(zhǔn)答案為:邏輯分析:數(shù)據(jù)構(gòu)造是指帶有構(gòu)造的數(shù)據(jù)元素的會(huì)集。它包含數(shù)據(jù)的邏輯構(gòu)造和數(shù)據(jù)的儲(chǔ)存構(gòu)造。數(shù)據(jù)的邏輯構(gòu)造是指反響數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)構(gòu)造。數(shù)據(jù)的儲(chǔ)存構(gòu)造是指在計(jì)算機(jī)儲(chǔ)存空間中的存放形式。第二章程序設(shè)計(jì)基礎(chǔ)一、選擇題(1)以下表達(dá)中正確的選項(xiàng)是A)程序設(shè)計(jì)就是編制程序B)程序的測(cè)試一定由程序員自己去完成C)程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試D)程序經(jīng)調(diào)試改錯(cuò)后不用進(jìn)行再測(cè)試【答案】C【分析】軟件測(cè)試依舊是保證軟件靠譜性的主要手段,測(cè)試的目的是要盡量發(fā)現(xiàn)程序中的錯(cuò)誤,調(diào)試主若是推測(cè)錯(cuò)誤的原由,從而進(jìn)一步改正錯(cuò)誤。測(cè)試和調(diào)試是軟件測(cè)試階段的兩個(gè)親近相關(guān)的過程,平常是交替進(jìn)行的。選項(xiàng)C正確。下邊描述中,不吻合構(gòu)造化程序設(shè)計(jì)風(fēng)格的是A)使用次序、選擇和重復(fù)(循環(huán))三種基本控制構(gòu)造表示程序的控制邏輯B)側(cè)重提升程序的可讀性D)使用goto語句【答案】D【分析】在構(gòu)造化程序設(shè)計(jì)中,應(yīng)嚴(yán)格控制使用GOTO語句,必需時(shí)才能夠使用,故答案為D。在面向?qū)ο笤O(shè)計(jì)中,對(duì)象有好多基本特色,其中“從外面看只好看到對(duì)象的外面特征,而對(duì)象的內(nèi)部對(duì)外是不行見的”這一性質(zhì)指的是對(duì)象的A)分類性B)表記唯一性C)多態(tài)性D)封裝性【答案】D【分析】從外面看只好看到對(duì)象的外面特征,而對(duì)象的內(nèi)部,即辦理能力的實(shí)行和內(nèi)部狀態(tài),指的是對(duì)象的封裝性。構(gòu)造化程序設(shè)計(jì)的一種基本方法是A)挑選法B)遞歸法C)概括法D)逐漸求精法【答案】D【分析】在構(gòu)造化程序設(shè)計(jì)中平常采納自上而下、逐漸求精的方法,其總的思想是先全局后局部、先整體后細(xì)節(jié)、先抽象后詳盡。而挑選法、遞歸法和概括法指的都是程序的某種詳盡算法。函數(shù)重載是指A)兩個(gè)或兩個(gè)以上的函數(shù)取相同的函數(shù)名,但形參的個(gè)數(shù)或種類不一樣B)兩個(gè)以上的函數(shù)取相同的名字和擁有相同的參數(shù)個(gè)數(shù),但形參的種類能夠不一樣C)兩個(gè)以上的函數(shù)名字不一樣,但形參的個(gè)數(shù)或種類相同D)兩個(gè)以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回種類相同【答案】A【分析】函數(shù)重載指的是兩個(gè)或兩個(gè)以上的函數(shù)擁有相同的函數(shù)名,但形參的個(gè)數(shù)或種類不一樣。程序中經(jīng)過判斷主調(diào)函數(shù)傳過來的參數(shù)的個(gè)數(shù)和種類,來決定選擇調(diào)用哪個(gè)詳盡的函數(shù)。以下選項(xiàng)中不吻合優(yōu)異程序設(shè)計(jì)風(fēng)格的是A)源程序要文檔化B)數(shù)聽聞明的次序要規(guī)范化C)防范濫用goto語D)模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚【答案】D【分析】編程風(fēng)格是在不影響性能的前提下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論