《數據結構》期中題庫及答案_第1頁
《數據結構》期中題庫及答案_第2頁
《數據結構》期中題庫及答案_第3頁
《數據結構》期中題庫及答案_第4頁
《數據結構》期中題庫及答案_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、判斷題:1、線性表的邏輯順序與物理順序總是一致的。(

)2、線性表的順序存儲表示優(yōu)于鏈式存儲表示。(

)3、線性表若采用鏈式存儲表示時所有結點之間的存儲單元地址可連續(xù)可不連續(xù)。(

)4、二維數組是其數組元素為線性表的線性表。(

)5、每種數據結構都應具備三種基本運算:插入、刪除和搜索。(

)6、數據結構概念包括數據之間的邏輯結構,數據在計算機中的存儲方式和數據的運算三個方面。(

)7、線性表中的每個結點最多只有一個前驅和一個后繼。(

8、線性的數據結構可以順序存儲,也可以鏈接存儲。非線性的數據結構只能鏈接存儲。(

)9、棧和隊列邏輯上都是線性表。(

10、單鏈表從任何一個結點出發(fā),都能訪問到所有結點

)11、刪除二叉排序樹中一個結點,再重新插入上去,一定能得到原來的二叉排序樹。(

)12、快速排序是排序算法中最快的一種。(

)13、多維數組是向量的推廣。(

)14、一般樹和二叉樹的結點數目都可以為0。

)15、直接選擇排序是一種不穩(wěn)定的排序方法。(

)16、98、對一個堆按層次遍歷,不一定能得到一個有序序列。(

)17、在只有度為0和度為k的結點的k叉樹中,設度為0的結點有n0個,度為k的結點有nk個,則有n0=nk+1。(

)18、折半搜索只適用與有序表,包括有序的順序表和有序的鏈表。(

)19、堆棧在數據中的存儲原則是先進先出。(

)20、隊列在數據中的存儲原則是后進先出。(

)21、用相鄰矩陣表示圖所用的存儲空間大小與圖的邊數成正比。(

)22、哈夫曼樹一定是滿二叉樹。(

)23、程序是用計算機語言表述的算法。(

)24、線性表的順序存儲結構是通過數據元素的存儲地址直接反映數據元素的邏輯關系。(

)25、用一組地址連續(xù)的存儲單元存放的元素一定構成線性表。(

)26、堆棧、隊列和數組的邏輯結構都是線性表結構。(

)27、給定一組權值,可以唯一構造出一棵哈夫曼樹。(

)28、只有在初始數據為逆序時,冒泡排序所執(zhí)行的比較次數最多。(

)29、希爾排序在較率上較直接接入排序有較大的改進。但是不穩(wěn)定的。(

)30、在平均情況下,快速排序法最快,堆積排序法最節(jié)省空間。(

)31、快速排序法是一種穩(wěn)定性排序法。(

)32、算法一定要有輸入和輸出。(

)33、算法分析的目的旨在分析算法的效率以求改進算法。(

)34、非空線性表中任意一個數據元素都有且僅有一個直接后繼元素。(

)35、數據的存儲結構不僅有順序存儲結構和鏈式存儲結構,還有索引結構與散列結構。(

)36、若頻繁地對線性表進行插入和刪除操作,該線性表采用順序存儲結構更合適。(

)37、若線性表采用順序存儲結構,每個數據元素占用4個存儲單元,第12個數據元素的存儲地址為144,則第1個數據元素的存儲地址是101。(

)38、若長度為n的線性表采用順序存儲結構,刪除表的第i個元素之前需要移動表中n-i+1個元素。(

)39、符號p->next出現(xiàn)在表達式中表示p所指的那個結點的內容。(

)40、要將指針p移到它所指的結點的下一個結點是執(zhí)行語句p←p->next。(

)41、若某堆棧的輸入序列為1,2,3,4,則4,3,1,2不可能是堆棧的輸出序列之一。(

)42、線性鏈表中各個鏈結點之間的地址不一定要連續(xù)。(

)43、程序就是算法,但算法不一定是程序。(

)44、線性表只能采用順序存儲結構或者鏈式存儲結構。(

)45、線性表的鏈式存儲結構是通過指針來間接反映數據元素之間邏輯關系的。(

)46、除插入和刪除操作外,數組的主要操作還有存取、修改、檢索和排序等。(

)47、稀疏矩陣中0元素的分布有規(guī)律,因此可以采用三元組方法進行壓縮存儲。(

)48、不管堆棧采用何種存儲結構,只要堆棧不空,可以任意刪除一個元素。(

)49、確定串T在串S中首次出現(xiàn)的位置的操作稱為串的模式匹配。(

)50、深度為h的非空二叉樹的第i層最多有2i-1

個結點。(

)51、滿二叉樹也是完全二叉樹。(

)52、已知一棵二叉樹的前序序列和后序序列可以唯一地構造出該二叉樹。(

)53、非空二叉排序樹的任意一棵子樹也是二叉排序樹。(

)54、對一棵二叉排序樹進行前序遍歷一定可以得到一個按值有序的序列。(

)55、一個廣義表的深度是指該廣義表展開后所含括號的層數。(

)56、散列表的查找效率主要取決于所選擇的散列函數與處理沖突的方法。(

)57、序列初始為逆序時,冒泡排序法所進行的元素之間的比較次數最多。(

)58、已知指針P指向鍵表L中的某結點,執(zhí)行語句P=P-〉next不會刪除該鏈表中的結點。(

)59、在鏈隊列中,即使不設置尾指針也能進行入隊操作。(

)60、如果一個串中的所有字符均在另一串中出現(xiàn),則說前者是后者的子串。(

)61、設與一棵樹T所對應的二叉樹為BT,則與T中的葉子結點所對應的BT中的結點也一定是葉子結點。(

)62、若圖G的最小生成樹不唯一,則G的邊數一定多于n-1,并且權值最小的邊有多條(其中n為G的頂點數)。(

)63、給出不同的輸入序列建造二叉排序樹,一定得到不同的二叉排序樹。(

)64、由于希爾排序的最后一趟與直接插入排序過程相同,因此前者一定比后者花費的時間多。(

)65、程序越短,程序運行的時間就越少。(

)66、采用循環(huán)鏈表作為存儲結構的隊列就是循環(huán)隊列。(

)67、堆棧是一種插入和刪除操作在表的一端進行的線性表。(

)68、一個任意串是其自身的子串。(

)69、哈夫曼樹一定是完全二叉樹。(

)70、帶權連通圖中某一頂點到圖中另一定點的最短路徑不一定唯一。(

)71、折半查找方法可以用于按值有序的線性鏈表的查找。(

)72、稀疏矩陣壓縮存儲后,必會失效掉隨機存取功能。(

)73、由一棵二叉樹的前序序列和后序序列可以唯一確定它。(

)74、在n個結點的元向圖中,若邊數在于n-1,則該圖必是連通圖。(

)75、在完全二叉樹中,若某結點元左孩子,則它必是葉結點。(

)76、若一個有向圖的鄰接矩陣中,對角線以下元素均為0,則該圖的拓撲有序序列必定存在。(

)77、樹的帶權路徑長度最小的二叉樹中必定沒有度為1的結點。(

)78、二叉樹可以用0≤度≤2的有序樹來表示。(

)79、一組權值,可以唯一構造出一棵哈夫曼樹。(

)

80、101,88,46,70,34,39,45,58,66,10)是堆;(

)81、將一棵樹轉換成二叉樹后,根結點沒有左子樹;(

)82、用樹的前序遍歷和中序遍歷可以導出樹的后序遍歷;(

)83、在非空線性鏈表中由p所指的結點后面插入一個由q所指的結點的過程是依次執(zhí)行語句:q->next=p->next;p->next=q。(

)84、非空雙向循環(huán)鏈表中由q所指的結點后面插入一個由p指的結點的動作依次為:p->prior=q,

p->next=q->next,q->next=p,q->prior->next←p。(

)85、刪除非空鏈式存儲結構的堆棧(設棧頂指針為top)的一個元素的過程是依次執(zhí)行:p=top,top=

p->next,free

(p)。(

)86、哈希的查找無需進行關鍵字的比較。(

)87、一個好的哈希函數應使函數值均勻的分布在存儲空間的有效地址范圍內,以盡可能減少沖突。(

)88、排序是計算機程序設計中的一種重要操作,它的功能是將一個數據元素(或記錄)的任意序列,重新排列成一個按關鍵字有序的序列。(

)89、隊列是一種可以在表頭和表尾都能進行插入和刪除操作的線性表。(

)90、在索引順序表上實現(xiàn)分塊查找,在等概率查找情況下,其平均查找長度不與表的個數有關,而與每一塊中的元素個數有關。(

)91、對于有向圖,頂點的度分為入度和出度,入度是以該頂點為終點的入邊數目;出度是以該頂點為起點的出邊數目,該頂點的度等于其入度和出度之和。(

)92、無向圖的鄰接矩陣是對稱的有向圖的鄰接矩陣是不對稱的。(

)93、具有n個頂點的連通圖的生成樹具有n-1條邊(

)二、填空題:1、《數據結構》課程討論的主要內容是數據的邏輯結構、存儲結構和______________。2、數據結構算法中,通常用時間復雜度和__________________兩種方法衡量其效率。3、一個算法一該具有______,______,____,______和____這五種特性。4、若頻繁地對線性表進行插入與刪除操作,該線性表應采用____________存儲結構。5、在非空線性表中除第一個元素外,集合中每個數據元素只有一個_______;除最后一個元素之外,集合中每個數據元素均只有一個_________。6、線性表中的每個結點最多有________前驅和____________后繼。7、______鏈表從任何一個結點出發(fā),都能訪問到所有結點。8、鏈式存儲結構中的結點包含____________域,_______________域。9、在雙向鏈表中,每個結點含有兩個指針域,一個指向______結點,另一個指向________結點。10、某帶頭結點的單鏈表的頭指針head,判定該單鏈表非空的條件______________。11、在雙向鏈表中,每個結點含有兩個指針域,一個指向_______結點,另一個指向_____結點。12、已知指針p指向單鏈表中某個結點,則語句p->next=p->next->next的作用__刪除p

的后繼結點_。13、已知在結點個數大于1的單鏈表中,指針p指向某個結點,則下列程序段結束時,指針q指向*p的_____________結點。q=p;while(q->next!=p)

q=q->next;14、若要在單鏈表結點*P后插入一結點*S,執(zhí)行的語句_______________。15、線性表的鏈式存儲結構地址空間可以_________,而向量存儲必須是地址空間___________。16、棧結構允許進行刪除操作的一端為_____________。17、在棧的順序實現(xiàn)中,棧頂指針top,棧為空條件______________。18、對于單鏈表形式的隊列,其空隊列的F指針和R指針都等于__________________。19、若數組s[0..n-1]為兩個棧s1和s2的共用存儲空間,僅當s[0..n-1]全滿時,各棧才不能進行棧操作,則為這兩個棧分配空間的最佳方案是:s1和s2的棧頂指針的初值分別為_________。20、允許在線性表的一端插入,另一端進行刪除操作的線性表稱為_______。插入的一端為______,刪除的一端為______。21、設數組A[m]為循環(huán)隊列Q的存儲空間,font為頭指針,rear為尾指針,判定Q為空隊列的條件____________________。22、對于順序存儲的隊列,存儲空間大小為n,頭指針為F,尾指針為R。若在邏輯上看一個環(huán),則隊列中元素的個數為___________。23、已知循環(huán)隊列的存儲空間為數組data[21],且頭指針和尾指針分別為8和3,則該隊列的當前長度__________。24、一個串的任意個連續(xù)的字符組成的子序列稱為該串的________,包含該子串的串稱為________。25、求串T在主串S中首次出現(xiàn)的位置的操作是________________。26、在初始為空的隊列中插入元素A,B,C,D以后,緊接著作了兩次刪除操作,此時的隊尾元素是__________。27、在長度為n的循環(huán)隊列中,刪除其節(jié)點為x的時間復雜度為_______________。28、已知廣義表L為空,其深度為___________。29、已知一順序存儲的線性表,每個結點占用k個單元,若第一個結點的地址為DA1,則第i個結點的地址為______________。30、設一行優(yōu)先順序存儲的數組A[5][6],A[0][0]的地址為1100,且每個元素占2個存儲單元,則A[2][3]的地址為_____________。31、設有二維數組A[9][19],其每個元素占兩個字節(jié),第一個元素的存儲地址為100,若按行優(yōu)先順序存儲,則元素A[6,6]的存儲地址為______________,按列優(yōu)順序存儲,元素A[6,6]的存儲地址為______________。32、在進行直接插入排序時,

其數據比較次數與數據的初始排列________關;而在進行直接選擇排序時,其數據比較次數與數據的初始排列__________關。33、假設以行為優(yōu)先存儲的三維數組A[5][6][7],A[0][0][0]的地址為1100,每個元素占兩個存儲單元,則A[4][3][2]的地址為_______。34、設二維數組A[m][n]按列優(yōu)先存儲,每個元素占1個存儲單元,元素A00的存儲地址loc(A00),則Aij的存儲地址loc(Aij)=____________________。35、稀疏矩陣一般采用__________方法進行壓縮存儲。36、稀疏矩陣可用_________進行壓縮存儲,存儲時需存儲非零元的________、________、________。37、若矩陣中所有非零元素都集中在以主對角線為中心的帶狀區(qū)域中,區(qū)域外的值全為0,則稱為__________。38、若一個n

階矩陣A中的元素滿足:Aij=Aji

(0<=I

,j<=n-1)則稱A為____________矩陣;若主對角線上方(或下方)的所有元素均為零時,稱該矩陣為______________。39、對于上三角形和下三角形矩陣,分別以按行存儲和按列存儲原則進行壓縮存儲到數組M[k]中,若矩陣中非0元素為Aij,則k對應為________和__________。40、設有一上三角形矩陣A[5][5]按行壓縮存儲到數組B中,B[0]的地址為100,每個元素占2個單元,則A[3][2]地址為____________。41、廣義表(A,(a,b),d,e,((i,j),k)),則廣義表的長度為___________,深度為___________。42、已知廣義表A=((a,b,c),(d,e,f)),則運算head(head

(tail(A))))=___

________。43、已知廣義表ls

=(a,(b,c,d),e),運用head和tail函數取出ls中的原子b的運算是_____。44、在樹結構里,有且僅有一個結點沒有前驅,稱為根。非根結點有且僅有一個___________,且存在一條從根到該結點的_______________。45、度數為0的結點,即沒有子樹的結點叫作__________結點或_________結點。同一個結點的兒子結點之間互稱為___________結點。

46、假定一棵樹的廣義表為A(B(e),C(F(h,i,j),g),D),則該樹的度為___________,樹的深度為_________,終端結點為______,單分支結點為,雙分支結點個數為

_______,三分支結點為_______,C結點的雙親結點是______,孩子結點是______。48、完全二叉樹、滿二叉樹、線索二叉樹和二叉排序樹這四個名詞術語中,與數據的存儲結構有關系的是_____________。47、有三個結點的二叉樹,最多有________種形狀。48、每一趟排序時從排好序的元素中挑出一個值最小的元素與這些未排小序的元素的第一個元素交換位置,這種排序方法成為_____________排序法。49、高度為k的二叉樹具有的結點數目,最少為_____,最多為_____。50、對任何一棵二叉樹,若n0,n1,n2分別是度為0,1,2的結點的個數,則n0=_______。51、在含100個結點的完全二叉樹,葉子結點的個數為_______。52、將一個數據元素(或記錄)的任意序列,重新排列成一個按關鍵字有序的序列叫_____。53、若一棵滿二叉樹含有121個結點,則該樹的深度為_________。54、一個具有767個結點的完全二叉樹,其葉子結點個數為________。55、深度為90的滿二叉樹,第11層有________個結點。56、有100個結點的完全二叉樹,深度為________。57、設一棵二叉樹中度為2的結點10個,則該樹的葉子個數為________。58、若待散列的序列為(18,25,63,50,42,32,9),散列函數為H(key)=key

MOD

9,與18發(fā)生沖突的元素有_____________個。59、含有3個2度結點和4個葉結點的二叉樹可含__________個1度結點。60、一棵具有5層滿二叉樹中節(jié)點總數為___________。61、一棵含有16個結點的完全二叉樹,對他按層編號,對于編號為7的結點,他的雙親結點及左右結點編號為______、______、_______。62、深度為k(設根的層數為1)的完全二叉樹至少有_______個結點,

至多有_______個結點。63、若要對某二叉排序樹進行遍歷,保證輸出所有結點的值序列按增序排列,應對該二叉排序樹采用________遍歷法。64、在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找(二分查找)方法查找元素24,需要進行______________次元素之間的比較。65、設有10個值,構成哈夫曼樹,則該哈夫曼樹共有______個結點。66、從樹中一個結點到另一個結點之間的分支構成這兩個結點之間的____________。67、關鍵字自身作為哈希函數,即H(k)=k,也可自身加上一個常數作為哈希函數,即H(k)=k+C這種構造哈希函數的方式叫____________。68、對于一個圖G,若邊集合E(G)為無向邊的集合,則稱該圖為____________。69、對于一個圖G,若邊集合E(G)為有向邊的集合,則稱該圖為____________。70、對于有向圖,頂點的度分為入度和出度,以該頂點為終點的邊數目叫________;以該頂點為起點的邊數目叫_________。71、一個無向圖采用鄰接矩陣存儲方法,其鄰接矩陣一定是一個______________。72、有一個n個頂點的有向完全圖的弧數_____________。73、在無向圖中,若從頂點A到頂點B存在_________,則稱A與B之間是連通的。74、在一個無向圖中,所有頂點的度數之和等于所有邊數的___________倍。75、一個連通圖的生成樹是該圖的____________連通子圖。若這個連通圖有n個頂點,

則它的生成樹有__________條邊。76、無向圖的鄰接矩陣是一個_____________矩陣。77、如果從一無向圖的任意頂點出發(fā)進行一次深度優(yōu)先搜索即可訪問所有頂點,則該圖一定是_____

_______。78、若采用鄰接表的存儲結構,則圖的廣度優(yōu)先搜索類似于二叉樹的____________遍歷。79、若圖的鄰接矩陣是對稱矩陣,則該圖一定是________________。80、從如圖所示的臨接矩陣可以看出,該圖共有______個頂點。如果是有向圖,該圖共有______條??;如果是無向圖,則共有________條邊。81、如果從一個頂點出發(fā)又回到該頂點,則此路徑叫做___________。82、一個具有個n頂點的無向圖中,要連通全部頂點至少需要________條邊。83、給定序列{100,

86,

48,

73,

35,

39,

42,

57,

66,

21},

按堆結構的定義,

則它一定_________堆。84、從未排序序列中選擇一個元素,該元素將當前參加排序的那些元素分成前后兩個部分,前一部分中所有元素都小于等于所選元素,后一部分中所有元素都大于或等于所選元素,而此時所選元素處在排序的最終位置。這種排序法稱為_____________排序法。85、折半搜索只適合用于___________________。86、結點關鍵字轉換為該結點存儲單元地址的函數H稱為_____________或叫__________。87、在索引查找中,首先查找________,然后查找相應的_________,整個索引查找的平均查找長度等于查找索引表的平均長度與查找相應子表的平均查找長度的_______。三、選擇題:(

)1.數據結構通常是研究數據的

及它們之間的聯(lián)系。A存儲和邏輯結構

B存儲和抽象

C理想和抽象

D理想與邏輯(

)2.在堆棧中存取數據的原則是

。A先進先出

B后進先出

C先進后出

D隨意進出(

)3.將一棵有100個結點的完全二叉樹從上到下,從左到右依次對結點進行編號,根結點的編號為1,則編號為49的結點的左孩子的編號為______。A.98

B.99

C.50

D.48(

)4.對于如圖所示二叉樹采用中根遍歷,正確的遍歷序列應為(

)A.ABCDEF

B.ABECDFC.CDFBEA

D.CBDAEF(

)5.設有100個元素,用折半查找法進行查找時,最大比較次數是_____

。A.25

B.50

C.10

D.7(

)6.快速排序在_____情況下最易發(fā)揮其長處。A.被排序數據中含有多個相同排序碼

B.被排序數據已基本有序C.被排序數據完全無序

D.被排序數據中最大值和最小值相差懸殊(

)7.由兩個棧共享一個向量空間的好處是______。

A減少存取時間,降低下溢發(fā)生的機率

B節(jié)省存儲空間,降低上溢發(fā)生的機率C減少存取時間,降低上溢發(fā)生的機率

D節(jié)省存儲空間,降低下溢發(fā)生的機率(

)8.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹A空或者只有一個結點

B高度等于其結點數C任一結點無左孩子

D任一結點無右孩子(

)9.設散列表長m=14,散列函數H(K)=K%11,已知表中已有4個結點:r(15)=4;

r(38)=5;

r(61)=6;r(84)=7,其他地址為空,如用二次探測再散列處理沖突,關鍵字為49的結點地址是________。A8

B3

C5

D9(

)10.在含有n個項點有e條邊的無向圖的鄰接矩陣中,零元素的個數為________。A.e

B.2e

C.n2-e

D.n2-2e(

)11.圖的深度優(yōu)先遍歷類似于二叉樹的_______。A.先序遍歷

B.中序遍歷

C.后序遍歷

D.層次遍歷(

)12.設長度為n的鏈隊列用單循環(huán)鏈表表示,若只設頭指針,則入隊操作的時間復雜度為_______。A.

O(1)

B.

O(log2n)

C.

O(n)

D.

O(n2)(

)13.堆的形狀是一棵_______。A.二叉排序樹

B.滿二叉樹

C.完全二叉樹

D.平衡二叉樹(

)14.一個無向連連通圖的生成樹是含有該連通圖的全部項點的_______。A.極小連通子圖

B.極小子圖

C.極大連通子圖

D.極大子圖(

)15.一個序列中有10000個元素,若只想得到其中前10個最小元素,最好采用_______方法A.快速排序

B.堆排序

C.插入排序

D.二路歸并排序(

)16.設單鏈表中結點的結構為typedef

struct

node

{

file://鏈表結點定義ElemType

data;

file://數據struct

node

*

Link;

file://結點后繼指針}

ListNode;已知指針p所指結點不是尾結點,若在*p之后插入結點*s,則應執(zhí)行下列哪一個操作______。A.

s->link

=

p;

p->link

=

s;B.

s->link

=

p->link;

p->link

=

s;C.

s->link

=

p->link;

p

=

s;

D.

p->link

=

s;

s->link

=

p;(

)17.設單鏈表中結點的結構為typedef

struct

node

{

file://鏈表結點定義ElemType

data;

file://數據struct

node

*

Link;

file://結點后繼指針}

ListNode;非空的循環(huán)單鏈表first的尾結點(由p所指向)滿足:______A.

p->link

==

NULL;

B.

p

==

NULL;C.

p->link

==

first;D.

p

==

first;(

)18.計算機識別、存儲和加工處理的對象被統(tǒng)稱為_________A.數據

B.數據元素

C.數據結構

D.數據類型(

)19.在具有n個結點的有序單鏈表中插入一個新結點并使鏈表仍然有序的時間復雜度是________A.O(1)

B.O(n)

C.O(nlogn)D.O(n2)(

)20.隊和棧的主要區(qū)別是________A.邏輯結構不同

B.存儲結構不同C.所包含的運算個數不同

D.限定插入和刪除的位置不同(

)21.鏈棧與順序棧相比,比較明顯的優(yōu)點是________A.插入操作更加方便

B.刪除操作更加方便C.不會出現(xiàn)下溢的情況

D.不會出現(xiàn)上溢的情況(

)22.在目標串T[0…n-1]=”xwxxyxy”中,對模式串p[0…m-1]=”xy”進行子串定位操作的結果_______A.0

B.2C.3

D.5(

)23.已知廣義表的表頭為A,表尾為(B,C),則此廣義表為________A.(A,(B,C))

B.(A,B,C)C.(A,B,C)

D.((

A,B,C))(

)24.二維數組A按行順序存儲,其中每個元素占1個存儲單元。若A[1][1]的存儲地址為420,A[3][3]的存儲地址為446,則A[5][5]的存儲地址為_______A.470

B.471C.472

D.473(

)25.二叉樹中第5層上的結點個數最多為________A.8

B.15C.16

D.32(

)26.如果某圖的鄰接矩陣是對角線元素均為零的上三角矩陣,則此圖是_______A.有向完全圖

B.連通圖C.強連通圖D.有向無環(huán)圖(

)27.對n個關鍵字的序列進行快速排序,平均情況下的空間復雜度為_______A.O(1)

B.O(logn)C.O(n)

D.O(nlogn)(

)28.對于哈希函數H(key)=key%13,被稱為同義詞的關鍵字是_______A.35和41

B.23和39C.15和44

D.25和51(

)29.

由權值分別為3,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為________。A、

24

B、

48

C、

72

D、

53(

)30.對包含N個元素的散列表進行檢索,平均檢索長度

________A、為

o(log2N)

B、為o(N)

C、不直接依賴于N

D、上述三者都不是(

)31.

向堆中插入一個元素的時間復雜度為________。A、

O(log2n)

B、

O(n)

C、

O(1)

D、

O(nlog2n)(

)32.下面關于圖的存儲的敘述中,哪一個是正確的。

________A.用相鄰矩陣法存儲圖,占用的存儲空間數只與圖中結點個數有關,而與邊數無關

B.用相鄰矩陣法存儲圖,占用的存儲空間數只與圖中邊數有關,而與結點個數無關C.用鄰接表法存儲圖,占用的存儲空間數只與圖中結點個數有關,而與邊數無關D.用鄰接表法存儲圖,占用的存儲空間數只與圖中邊數有關,而與結點個數無關(

)33.輸入序列為(A,B,C,D),不可能得到的輸出序列是______.A.

(A,B,C,D)

B.(D,C,B,A)C.(A,

C,D,B)

D.(C,A,B,D)(

)34.在長度為n的順序存儲的線性表中,刪除第i個元素(1≤i≤n)時,需要從前向后依次前移____個元素。A、n-i

B、n-i+1

C、n-i-1

D、i(

)35.設一個廣義表中結點的個數為n,則求廣義表深度算法的時間復雜度為____。A、O(1)

B、O(n)

C、O(n2)

D、O(log

2

n)(

)36.假定一個順序隊列的隊首和隊尾指針分別為f和r,則判斷隊空的條件為

____。A、f+1==r

B、r+1==f

C、f==0

D、f==r(

)37.從堆中刪除一個元素的時間復雜以為____。A、O(1)

B、O(log

2

n)

C、O(n)

D、O(nlog

2

n)(

)38.若需要利用形參直接訪問實參,則應把形參變量說明為____參數。A.指針

B.引用

C.值

D.變量(

)39.在一個單鏈表HL中,若要在指針q所指結點的后面插入一個由指針p所指向的結點,則執(zhí)行____。A.

q一>next=p一>next;p一>next=q;C.

q一>next=p一>next;p一>next=q;B.

p一>next=q一>next;q=p;

D.

p一>next=q一>next;q一>next=p;(

)40.在一個順序隊列中,隊首指針指向隊首元素的____位置。A.前一個

B.后一個

C.當前

D.最后一個(

)41.向二叉搜索樹中插入一個元素時,其時間復雜度大致力____。A

O(1)

B

O(1og2n)C

O(n)

D

O(nlog2n)(

)42.算法指的是________A.計算機程序

B.解決問題的計算方法C.排序算法D.解決問題的有限運算序列(

)43.線性表采用鏈式存儲時,結點的存儲地址________A.必須是不連續(xù)的

B.連續(xù)與否均可C.必須是連續(xù)的D.和頭結點的存儲地址相連續(xù)(

)44.將長充為n的單鏈表鏈接在長度為m的單鏈表之后的算法的時間復雜度為________A.O(1)

B.O(n)C.O(m)

D.O(m+n)(

)45.由兩個棧共享一個向量空間的好處是:________A.減少存取時間,降低下溢發(fā)生的機率

B.節(jié)省存儲空間,降低上溢發(fā)生的機率C.減少存取時間,降低上溢發(fā)生的機率

D.節(jié)省存儲空間,降低下溢發(fā)生的機率(

)46.設數組DAtA[m]作為循環(huán)隊列SQ的存儲空間,front為隊頭指針,reAr為隊尾指針,則執(zhí)行出隊操作后其頭指針front值為________A.

front=front+1

B.

front=(front+1)%(m-1)C.

front=(front-1)%m

D.

front=(front+1)%m(

)47.如下陳述中正確的是________A.

串是一種特殊的線性表

B.

串的長度必須大于零C.

串中元素只能是字母

D.

空串就是空白串(

)48.若目標串的長充為n,模式串的長度為[n/3],則執(zhí)行模式匹配算法時,在最壞情況下的時間復雜度是________A.O(1)

B.O(n)C.O(n2)

D.O(n3)(

)49.一個非空廣義表的表頭________A.不可能是子表B.只能是子表C.只能是原子

D.可以是子表或原子(

)50.

從堆中刪除一個元素的時間復雜度為________。A、

O(1)

B、

O(n)

C、

O(log2n)

D、

O(nlog2n)(

)51.一棵度為3的樹中,度為3的結點個數為2,度為2的結點個數為1,則度為0的結點個數為________A.4

B.5C.6

D.7(

)52.

從二叉搜索樹中查找一個元素時,其時間復雜度大致為________。A、

O(n)

B、

O(1)

C、

O(log2n)

D、

O(n2)(

)53.

根據n個元素建立一棵二叉搜索樹時,其時間復雜度大致為________。A、

O(n)

B、

O(log2n

)

C、

O(n2)

D、

O(nlog2n)(

)54.用某種排序方法對關鍵字序列(25,84,21,47,15,27,68,35,20)進行排序時,序列的變化情況是如下________:

20,15,21,25,47,27,68,35,84

15,20,21,25,35,27,47,68,84

15,20,21,25,27,35,47,68,84則所采用的排序方法是________A.選擇排序

B.希爾排序C.歸并排序

D.快速排序(

)55.適于對動態(tài)查找表進行高效率查找的組織結構是________A.有序表

B.分塊有序表C.二叉排序樹

D.線性鏈表(

)56.

若需要利用形參直接訪問實參,則應把形參變量說明為________參數。

A

指針

B

引用

C

D

常量

)57.鏈式棧與順序棧相比,一個比較明顯的優(yōu)點是________。

A.

插入操作更加方便

B.

通常不會出現(xiàn)棧滿的情況

C.

不會出現(xiàn)??盏那闆r

D.

刪除操作更加方便

)58.設單鏈表中結點的結構為(data,

link)。已知指針q所指結點是指針p所指結點的直接前驅,若在*q與*p之間插入結點*s,則應執(zhí)行下列哪一個操作________

A.

s->link

=

p->link;

p->link

=

s;

B.

p->link

=

s;

s->link

=

q;C.

p->link

=

s->link;

s->link

=

p;

D.

q->link

=

s;

s->link

=

p;(

)59.若讓元素1,2,3依次進棧,則出棧次序不可能出現(xiàn)________種情況。

A.

3,

2,

1

B.

2,

1,

3

C.

3,

1,

2

D.

1,

3,

2

)60.線性鏈表不具有的特點是________。

A.

隨機訪問

B.

不必事先估計所需存儲空間大小

C.

插入與刪除時不必移動元素

D.

所需空間與線性表長度成正比

)61.在稀疏矩陣的十字鏈接存儲中,每個列單鏈表中的結點都具有相同的_____。

A.行號

B.列號

C.元素值

D.地址

)62.假定一個順序隊列的隊首和隊尾指針分別為front和rear,存放該隊列的數組長度為N,則判斷隊空的條件為________。

A.(front+1)%

N

==

rear

C.

front

==

0B.(rear+1)%

N

==

front

D.

front

==

rear(

)63.棧的插入和刪除操作在___進行.

(A).棧頂

(B).棧底(C).任意位置

(D).指定位置

)64.

在一個順序循環(huán)隊列中,隊首指針指向隊首元素的________位置。

A.

后兩個

B.

后一個C.

當前

D.前一個

)65.下面算法的時間復雜度為__。

int

f(int

n){

if

(n==0)return

1;

else

return

n*f(n-1);}

A.O(1)

B.O(n)

C.O(n2)

D.O(n!)(

)66.數據結構是一門研究非數值計算的程序設計問題中計算機的(①)以及它們之間的(②)和運算的學科

①A、操作對象B、計算方法C、邏輯存儲D、數據映象②A、結構B、關系C、運算D、算法(

)67.數據結構被形式地定義為(K,R),其中K是(①)的有限集合,R是K上(②)的有限集合①A、算法B、數據元素C、數據操作D、邏輯結韻②A、操作B、映象C、存儲D、關系(

)68.在數據結構中,從邏輯上可以把數據結構分為________A、動態(tài)結構和靜態(tài)結構B、緊湊結構和非緊湊結構C、線性結構和非線性結構D、內部結構和外部結構(

)69.線性表的順序存儲結構是一種_________的存儲結構,線性表的鏈式存儲結構是一種________的存儲結構A、隨機存取

B、順序存取C、索引存取

D、HASH存?。?/p>

)70.算法分析的目的是(①),算法分析的兩個主要方面是(②)①A、找出數據結構的合理性

C、分析算法的效率以求改進B、研究算法中的輸入和輸出的關系D、分析算法的易懂性和文檔性②A、空間復雜性和時間復雜性

C、可讀性和文檔性B、正確性和簡明性

D、數據復雜性和程序復雜性(

)71.計算機算法指的是(①),它必具備輸入、輸出和(②)等五個特性①A、計算方法B、排序方法C、解決萊一問題的有限運算序列D、調度方法②A、可執(zhí)行性、可移植性和可擴充性

C、確定性、有窮性和穩(wěn)定性B、可執(zhí)行性、確定性和有窮性

D、易謾性、穩(wěn)定性和安全性(

)72.線性表若采用鏈表存儲結構時,要求內存中可用存儲單元的地址________A、必須是連續(xù)的B、部分地址必須是連續(xù)的C、一定是不連續(xù)的D、連續(xù)不連續(xù)都可以(

)73.在以下的敘述中,正確的是__________A、線性表的線性存儲結構優(yōu)于鏈表存儲結構

C、棧的操作方式是先進先出B、二維數組是它的每個數據元素為一個線性表的線性表D、隊列的操作方式是先進后出(

)74.

一個數組元素A[i]與________的表示等價。A、

*(A+i)

B、

A+i

C、

*A+i

D、

&A+i

)75.

對于兩個函數,若函數名相同,但只是____________不同則不是重載函數。A、

參數類型

B、

參數個數

C、

函數類型

D、函數變量(

)76.

若需要利用形參直接訪問實參,則應把形參變量說明為________參數A、

指針

B、

引用

C、

值D、函數(

)77.下面程序段的時間復雜度為____________。

for(int

i=0;

i<m;

i++)

for(int

j=0;

j<n;

j++)

A[i][j]=i*j;A、

O(m2)

B、

O(n2)

C、

O(m*n)

D、

O(m+n)(

)78.

執(zhí)行下面程序段時,執(zhí)行S語句的次數為____________。

for(int

i=1;

i<=n;

i++)

for(int

j=1;

j<=i;

j++)

S;A、

n2

B、

n2/2

C、

n(n+1)

D、

n(n+1)/2(

)79.

下面算法的時間復雜度為____________。

int

f(

unsigned

int

n

)

{

if

(

n==0

||

n==1

)

return

1;

else

return

n*f(n-1);

}A、

O(1)

B、

O(n)

C、

O(n2)

D、

O(n!)(

)80.在一個長度為n的順序存儲線性表中,向第i個元素(1≤i≤n+1)之前插入一個新元素時,需要從后向前依次后移

個元素。A、n-i

B、n-i+1

C、n-i-1

D、i(

)81.在一個長度為n的順序存儲線性表中,刪除第i個元素(1≤i≤n+1)時,需要從前向后依次前移_____個元素。A、n-i

B、n-i+1

C、n-i-1

D、i(

)82.在一個長度為n的線性表中順序查找值為x的元素時,查找時的平均查找長度(即x同元素的平均比較次數,假定查找每個元素的概率都相等)為_____。A、n

B、n/2

C、(n+1)/2

D、(n-1)/2(

)83.在一個單鏈表HL中,若要向表頭插入一個由指針p指向的結點,則執(zhí)行_____

。A、HL

=

p;

p->next

=

HL;

C、p->next

=

HL;

p

=

HL;B、p->next

=

HL;

HL

=

p;

D、p->next

=

HL->next;

HL->next

=

p;(

)84.在一個單鏈表HL中,若要在指針q所指的結點的后面插入一個由指針p所指的結點,則執(zhí)行_____。A、q->next

=

p->next

;

p->next

=

q;

C、q->next

=

p->next;

p->next

=

q;B、p->next

=

q->next;

q

=

p;

D、p->next

=

q->next

;

q->next

=

p;(

)85.在一個單鏈表HL中,若要刪除由指針q所指向結點的后繼結點,則執(zhí)行_____。A、p

=

q->next

;

p->next

=

q->next;

C、p

=

q->next

;

q->next

=

p->next;B、p

=

q->next

;

q->next

=

p;

D、q->next

=

q->next->next;

q->next

=

q;(

)86.

在稀疏矩陣的帶行指針向量的鏈接存儲中,每個行單鏈表中的結點都具有相同的________。A、

行號

B、

列號

C、

元素值

D、

地址(

)87.

設一個廣義表中結點的個數為n,則求廣義表深度算法的時間復雜度為_______。A、

O(1)

B、

O(n)

C、

O(n2)

D、

O(log2n)(

)88.棧的插入與刪除操作在_____進行。A、棧頂

B、棧底

C、任意位置

D、指定位置(

)89.當利用大小為N的一維數組順序存儲一個棧時,假定用top==N表示???,則向這個棧插入一個元素時,首先應執(zhí)行_____語句修改top指針。A、top++

B、top--

C、top=0

D、top(

)90.若讓元素1,2,3依次進棧,則出棧次序不可能出現(xiàn)_____種情況。A、3,2,1

B、2,1,3

C、3,1,2

D、1,3,2(

)91.在一個循環(huán)順序隊列中,隊首指針指向隊首元素的_____位置。A、前一個

B、后一個

C、當前

D、后面(

)92.當利用大小為N的一維數組順序存儲一個循環(huán)隊列時,該隊列的最大長度為_____。A、N-2

B、N-1

C、N

D、N+1(

)93.從一個循環(huán)順序隊列刪除元素時,首先需要_____。A、前移一位隊首指針

B、后移一位隊首指針C、取出隊首指針所指位置上的元素

D、取出隊尾指針所指位置上的元素(

)94.假定一個循環(huán)順序隊列的隊首和隊尾指針分別為f和r,則判斷隊空的條件是_____。A、f+1==r

B、r+1==f

C、f==0

D、f==r(

)95.假定一個鏈隊的隊首和隊尾指針分別為front和rear,則判斷隊空的條件是_____。A、front==rear

B、front!=NULL

C、rear!=NULL

D、front==NULL四、應用題:1、棧和隊列都是特殊線性表,其特殊性是什么?2、設有一順序隊列sq,容量為5,初始狀態(tài)sq.front=sq.rear=0,劃出作完下列操作的隊列及其頭尾指針變化狀態(tài),若不能入隊,簡述理由后停止。1)d,e,b

入隊。2)d,e

出隊。3)

i,j

入隊。4)b

出隊。

5)n,o,p

入隊。3、設有一個順序棧S,元素s1,

s2,

s3,

s4,

s5,

s6依次進棧,如果6個元素的出棧順序為s2,

s3,

s4,

s6,

s5,

s1,則順序棧的容量至少應為多少?4、將兩個棧存入數組V[1..m]中應如何安排最好?這時???、棧滿的條件是什么?5、已知稀疏矩陣如下:請寫出該稀疏矩陣三元組表示。6、廣義表A=(a,b,(c,d),(e,(f,g))),求其長度,及深度。7、請畫出下面廣義表相應的加入表頭結點的單鏈表表示,D(A(x,y,L(a,b)),B(z,A(x,y,L(a,b))))。8、一棵具有n個結點的理想平衡二叉樹(即除離根最遠的最底層外其他各層都是滿的,最底層有若干結點)有多少層?若設根結點在第0層,則樹的高度h如何用n來表示(注意n可能為0)?9、設二叉樹后根遍歷為BAC,畫出所有可能的二叉樹。10、假設一棵二叉樹的層序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,請畫出該樹。11、有一個完全二叉樹按層次順序存放在一維數組中,如下所示:

請指出結點P的父結點,左子女,右子女。12、給出下列二叉樹的先序序列。13、已知某非空二叉樹采用順序存儲結構,樹中結點的數據信息依次存放在一個一維數組中,即ABC□DFE□□G□□H□□,該二叉樹的中序遍歷序列為:14、設一棵二叉樹的前序序列為1,2,3,4,5,6,7,8,9,其中序序列為2,3,1,5,4,7,8,6,9,試畫出該二叉樹。15、已知一組元素為(46,25,78,62,12,37,70,29),試畫出按元素排列次序插入生成的一棵二叉樹。16、由于元素插入的次序不同,所構成的二叉排序樹也有不同的狀態(tài),請畫出一棵含有1,2,3,4,5,6六個結點且以1為根,深度為4的二叉排序樹。17、什么是線索二叉樹?為什么要線索化?

18、有n個頂點的有向連通圖最多有多少條邊?最少有多少條邊?19、下圖中給出由7個頂點組成的無向圖。從頂點1出發(fā),對它進行深度優(yōu)先遍歷得到的頂點序列是:進行廣度優(yōu)先遍歷得到的頂點序列是:20、什么是連通圖的生成樹?21、什么是哈夫曼(Huffman)樹?22、已知結點a,b,c,d及其權值寫出哈夫曼樹的構造過程。

a

b

c

d

7

5

2

423、已知圖G={V

,

E}

V={

a,

b,

c,

d,

e

}

E={(a,

b),(b,

d),(c,

d),(d,

e),(e,

a),(a,

c)}畫出圖G,畫出圖G的鄰接表。24、考慮下圖:1)從頂點A出發(fā),求它的深度優(yōu)先生成樹。2)從頂點E出發(fā),求它的廣度優(yōu)先生成樹。3)根據普里姆(Prim)算法,求它的最小生成樹。

25、設有關鍵碼序列(Q,H,C,Y,Q,A,M,S,R,D,F(xiàn),X),要按照關鍵碼值遞增的次序進行排序。若采用初始步長為4的Shell排序法,則一趟掃描的結果是:若采用以第一個元素為分界元素的快速排序法,則一趟掃描的結果是:26、一個對象序列的排序碼為{46,79,56,38,40,84},采用快速排序以位于最左位置的對象為基準而得到的第一次劃分結果為:27、用二分法對一個長度為10的有序表進行查找,填寫查找每個元素需要的比較次數。

下標:

0

1

2

3

4

5

6

7

8

9

比較次數:28、若對序列(49,38,27,13,97,76,50,65)采用泡排序法(按照值的大小從小到大)進行排序,請分別在下表中寫出每一趟排序的結果。原始序列

49

38

27

13

97

76

50

65第1趟的結果第2趟的結果第3趟的結果第4趟的結果29、給出一組關鍵字:29,18,25,47,58,12,51,10,分別寫出按下列各種排序方法進行排序時的變化過程:1)歸并排序

每歸并一次書寫一個次序。2)快速排序

每劃分一次書寫一個次序。3)堆排序

先建成一個堆,然后每從堆頂取下一個元素后,將堆調整一次。30、給出一組關鍵字T=(12,2,16,30,8,28,4,10,20,6,18)。寫出用下列算法從小到大排序時第一趟結束時的序列:1)希爾排序(第一趟排序的增量為5)2)快速排序(選第一個記錄為樞軸(分隔))3)鏈式基數排序(基數為10)31、若雜湊表的地址范圍為[0:9],雜湊函數為H(key)=(key2+2)MOD

9,并且采用鏈地址方法處理沖突,請畫出元素7,4,5,3,6,2,8,9,1依次插入該雜湊表以后,該雜湊表的狀態(tài)。32、已知二叉樹采用二叉鏈表存儲結構,鏈結點的構造為lchild

|

data

|

rchild

,根結點的指針為T。下面是利用中序遍歷的方法統(tǒng)計二叉樹中度為1的結點的個數的算法,算法中設置了一順序存儲結構的堆棧STACK

[1:M],棧頂指針為top,請在算法的空缺處填入適當內容,使之能正常工作。33、設有一個順序棧S,元素s1,

s2,

s3,

s4,

s5,

s6依次進棧,如果6個元素的出棧順序為s2,

s3,

s4,

s6,

s5,

s1,則順序棧的容量至少應為多少?34、設有一個關鍵碼的輸入序列

{

55,

31,

11,

37,

46,

73,

63,

02,

07}

,

(1)

從空樹開始構造平衡二叉搜索樹,

畫出每加入一個新結點時二叉樹的形態(tài)。若發(fā)生不平衡,

指明需做的平衡旋轉的類型及平衡旋轉的結果。

(2)

計算該平衡二叉搜索樹在等概率下的查找成功的平均查找長度和查找不成功的平均查找長度。35、關鍵碼的輸入序列

{

55,

31,

11,

37,

46,

73,

63,

02,

07

}請計算在二分法查找、二叉排序樹兩種的情況下等概率下查找成功的平均查找長度。36、

廣義表A=(a,b,(c,d),(e,(f,g))),計算下面式子的值Head(Tail(Head(Tail(Tail(A)))))37、

下圖是用鄰接表存儲的圖,畫出此圖,并寫出從C點開始按深度優(yōu)先、廣度優(yōu)先遍歷該圖的結果。38、

用序列(46,88,45,39,70,58,101,10,66,34)建立一個排序二叉樹,畫出該樹,并求在等概率情況下查找成功的平均查找長度。39、

判斷下列序列是否為堆,如果不是請調整為堆,如果是請判斷是什么類型的堆(101,88,46,70,34,39,45,58,66,10)40、

假設一棵二叉樹的層序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,請畫出該樹。41、

找出所有滿足下列條件的二叉樹a)

它們在先序遍歷和中序遍歷時,得到的結點訪問序列相同;b)

它們在后序遍歷和中序遍歷時,得到的結點訪問序列相同;c)

它們在先序遍歷和后序遍歷時,得到的結點訪問序列相同。42、

已知L是無表頭結點的單鏈表,其中P結點既不是首元結點,也不是尾元結點。a)在P結點后插入S結點的語句序列是______b)在P結點前插入S結點的語句序列是______c)在表首插入S結點的語句序列是______d)在表尾插入S結點的語句序列是______(1)

P->next=S;(2)

P->next=P->next->.next;(3)

P->next=S->next;(4)

S->next=P->next;(5)

S->next=L;(6)

S->next=NIL;(7)

Q=P;(8)

WHILE

P->next<>Q

P=P->next;(9)

WHILE

P->next!=NULL

P=P->next;(10)

P=Q;(11)

P=L;(12)

L=S;(13)

L=P;43、

已知樹T的先序遍歷序列為ABCDEFGHIJKL,后序遍歷序列為CBEFDJIKLHGA,請畫出樹T。44、

對關鍵字序列(72,87,61,23,94,16,5,58)進行堆排序、快速排序、直接選擇排序,使之關鍵字遞增有序,請寫出每個排序的前三趟結果。45、

請畫出廣義表D的圖形表示D=(D,(a,b),((a,b),c),(

))46、

若一二叉樹有2度結點100個,則其葉結點有多少個?該二叉樹可以有多少個1度頂點?47、

對于單鏈表、單循環(huán)鏈表和雙向鏈表,如果僅僅知道一個指向鏈表中某結點的指針

p

,能否將

p

所指結點的數據元素與其確實存在的直接前驅交換

?

請對每一種鏈表作出判斷,若可以,寫出程序段;否則說明理由。單鏈表和單循環(huán)鏈表的結點結構為date

next

雙向鏈表的結點結構為prior

date

next

(1)

單鏈表

(2)

單循環(huán)鏈表

(3)

雙向鏈表

47、已知散列函數為H(key)=key%7,散列表長度為7(散列地址空間為0..6),待散列序列為:(25,48,32,50,68)。要求:(1)根據以上條件構造一散列表,并用線性探測法解決有關地址沖突;

(2)若要用該散列表查找元素68,給出所需的比較次數。48、已知一組鍵值序列為(38,64,73,52,40,37,56,43),試采用快速排序法對該組序列作升序排序,并給出每一趟的排序結果。49、已知某二叉樹的順序存儲結構如圖所示,試畫出該二叉樹。

50、設有一個關鍵碼的輸入序列{

55,

31,

11,

37,

46,

73,

63,

02,

07

}

(1)從空樹開始構造平衡二叉搜索樹,

畫出每加入一個新結點時二叉樹

的形態(tài)。若發(fā)生不平衡,指明需做的平衡旋轉的類型及平衡旋轉的結果。(2)計算該平衡二叉搜索樹在等概率下的查找成功的平均查找長度和查找不成功的平均查找長度。51、求下列廣義表運算的結果:1)

HEAD(p,h,w);2)

TAIL

(b,k,p,h);3)

HEAD

((a,b),(c,d));4)

TAIL

(a,b),(c,d);5)

HEAD(TAIL(((a,b),(c,d))))6)

TAIL(HEAD((a,b),(c,d)))52、畫出下列廣義表的圖形表示:1)

D(A()),B(e),C(a,L(b,c,d))2)

J1(J2,(J1,a,J3(J1)),J3(J1))53、完成下列要求:1)

請畫出下列廣義表的存儲結構((((a),b)),(((),(d)),(e,f)))2)請寫出下面鏈表表示的廣義表54、一棵二叉樹如圖:1)

寫出對此樹進行中序、先序、后續(xù)遍歷時得到的結點序列。2)

畫出樹的后序線索二叉樹。55、具有3個節(jié)點的樹和具有3個節(jié)點的二叉樹它們的所有不同形態(tài)有哪些?56、將下列森林轉化為二叉樹。57、已知一個圖如下所示,寫出其臨接矩陣,并從頂點a出發(fā)按深度優(yōu)先搜索、按廣度優(yōu)先搜索,則可以得到所有頂點序列為什么?58、試問在直接插入排序、希爾排序、快速排序、歸并排序、二分法排序、直接選擇排序中,哪些排序是穩(wěn)定的?哪些是不穩(wěn)定的,哪個排序平均比較次數最少?哪個排序要求內存容量最多?59、哈希表中使用哈希函數H(key)=3

*

key

%

11,并采用開放定址法處理沖突,隨機探測再散列的下一地址公式為:

d1=H

(key

)

di=(

di-1

+7

*

key

)

%

11

(I=2,3…..)試在0到10的散列地址空間中對關鍵字序列(22,41,53,46,30,13,01,67)畫出Hash表示意圖,并求在等概率情況下查找成功的平均查找長度。60、什么是內部排序?什么是排序方法的穩(wěn)定性?說出你所學過的三個穩(wěn)定算法,一個不穩(wěn)定算法。61、何為隊列上溢?一般用什么方法解決,簡述之。62、載入下圖所示的有權圖G,回答下列問題:1)

給出從結點v1出發(fā)按深度優(yōu)先搜索遍歷圖所得的結點序列;2)

給出圖的拓撲序列;3)

給出從結點v1到結點v8的最短路徑和關鍵路徑。63、對于下圖,請給出1)

對應的鄰接矩陣,并給出A,B,C三個頂點的入度和出度;2)

鄰接表表示和逆鄰接表表示;3)

求其連同分量;64、對于下圖的樹,分別用孩子鏈表和孩子兄弟鏈表法畫出存儲結構。65、對于下圖的樹,請分別用中序、先序的方法寫出其遍歷結果。

66、已知一個表{jan,feb,mar,apr,may,june,july,aug,sep}1)

使按表中元素的次序依次插入一棵初始為空的二叉排序樹,畫出表中元素構成的二叉排序樹。2)

求初等概率情況下查找july的查找長度。67、數組a[1..10,-2..6,2..8]以行優(yōu)先的順序存儲,設第一個元素的首地址為100,每個元素占3個存儲長度的存儲空間,則元素A[5,1,8]的存儲地址為多少?

68、設有一組關鍵字(17,13,153,29,35,21)需插入到表長為12的表中,請回答下列問題:1)

自己設計一個合理的散列函數2)

用自己設計的函數將上述關鍵字插入到散列表中,畫出其結構;并指出用線性探測法解決沖突構造散列表的裝填因子為多少?69、已知一棵三階B-樹如下圖所示,假定依次從中刪除關鍵字46,24,52,8,93和80試畫出每次刪除結點后樹的情況:70、已知一棵三階的B-樹如下圖所示,假定依次插入關鍵字

50,83,10請畫出插入個結點后樹的情況:71、令s=’aaab’,t=’abcaaa’,u=’abcaabbabcabaacbacbaaa’,分別求出他們的next值。72、請畫出下列二叉樹的中序線索化前趨鏈樹,后序線索化后繼鏈樹。73、將下列結點按輸入順序構造一棵二叉平衡樹。{As,Bx,Ca,Dww,Ae,Cf

,Edd,F(xiàn)ap,Goi,F(xiàn)ab,Hre}74、試在如圖所示線索化的二叉樹中,查找指定結點E的后繼結點、C的前驅結點,并說明找到結果的原因。75、什么是數據結構?76、試比較線性表的順序存儲結構和鏈式存儲結構的優(yōu)缺點。77、堆棧和隊列都是特殊線性表,其特殊性是什么?78、將兩個棧存入數組V[1..m]中應如何安排最好?這時??諚M的條件是什么?79、內存中一片連續(xù)空間(不妨假設地址從1到m),提供給兩個棧S1和S2使用,怎樣分配這部分存儲空間,使得對任一個棧,僅當這部分空間全滿時才發(fā)生上溢。80、給出數組

int

A[3…8,2…6];當它在內存中按行存放和按列存放時,分別寫出數組元素A[i,j]的地址計算公式(設每個元素占兩個存儲單元)。81、若一二叉樹有2度結點100個,則其葉結點有多少個?該二叉樹可以有多少個1度頂點?82、如圖所示的二叉樹完成中序遍歷、后續(xù)遍歷、先序遍歷,并畫出后續(xù)線索化的二叉樹。83、將下圖轉換為二叉樹,對轉換后的二叉樹進行先根、中根、后根遍歷。84、有一組數值14、21、32、15、28,畫出哈夫曼樹的生成過程及最后結果。85、有n個頂點的有向連通圖最多有多少條邊?最少有多少條邊?86、什么是哈夫曼(Huffman)樹?87、已知圖G={V

,

E}

V={

a,

b,

c,

d,

e

}

E={(a,

b),(b,

d),(c,

d),(d,

e),(e,

a),(a,

c)}畫出圖G,畫出圖G的鄰接表。88、設一個有向圖為G=(V,E),其中V={v1,v2,v3,v4},E={<v2,v1>,<v2,v3>,<v4,v1>,<v1,v4>,

<v4,v2>},畫出該有向圖,并求出每個結點的入度和出度,畫出相應的鄰接矩陣、鄰接表和逆鄰接表。89、請給出下圖的鄰接矩陣和鄰接表。90、請畫出下圖中的極大連通子圖。91、對于如下圖請畫出其用prim和kruskal兩種不同算法生成最小生成樹的各條邊的并入順序。畫出最小生成樹。并寫出廣度優(yōu)先和深度優(yōu)先的結點遍歷順序。92、什么是靜態(tài)查找,什么時動態(tài)查找,什么叫平均查找長度。93、用序列(46,88,45,39,70,58,101,10,66,34)建立一個二叉排序樹,畫出該樹,并求在等概率情況下查找成功的平均查找長度。94、已知一個線性表(38,25,74,63,52,48),假定采用h(k)=k%7計算散列地址進行散列存儲,若引用線性探測的開放地址法解決沖突,則在該散列表上進行檢索的平均檢索長度為多少,若利用連地址法處理沖突,則在該散列表上進行檢索的平均查找長度為多少?設地址空間為9。請畫出算列表。96、已知長度為12的表:(Jan

,

溫馨提示

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

最新文檔

評論

0/150

提交評論