版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)(本)復(fù)習(xí)題一、單項(xiàng)選擇題(每小題2分,共30分)1.深度為5的完全二叉樹共有20個(gè)結(jié)點(diǎn),則第5層上有()個(gè)結(jié)點(diǎn)(根所在結(jié)點(diǎn)為第一層)。A.3 ?? ?? B.8C.5 ????? D.62.已知一個(gè)圖的邊數(shù)為ii,則該圖的所有頂點(diǎn)的度數(shù)之和為()。A.2m ? ? B.mC.2m+1? ?? D.3.數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()結(jié)構(gòu)。A.物理? ??? B.存儲(chǔ)C.邏輯與物理? ?? D.邏輯4.鏈表所具有的特點(diǎn)是()。A.可以隨機(jī)訪問任一結(jié)點(diǎn) ? B.占用連續(xù)的存儲(chǔ)空間C.插人刪除不需要移動(dòng)元素結(jié)點(diǎn) D.可以通過下標(biāo)對(duì)鏈表進(jìn)行直接訪問5.線性表只要以()方式存儲(chǔ)就能進(jìn)行折半查找。A.鏈接 ??? ? B.順序C.關(guān)鍵字有序的順序????D.二又樹6.散列查找的原理是()。A.在待查記錄的關(guān)鍵字值與該記錄的存儲(chǔ)位置之間建立擬定的相應(yīng)關(guān)系B.按待查記錄的關(guān)鍵字有序的順序方式存儲(chǔ)C.按關(guān)鍵字值的比較進(jìn)行查找D.基于二分查找的方法7.對(duì)n個(gè)元素進(jìn)行冒泡排序若某趟冒泡中只進(jìn)行了()次元素間的互換,則表白序列已經(jīng)排好序。A.1?? ???B.2C.0 D.n-18.排序過程中,每一趟從無序子表中將一個(gè)待排序的記錄按其關(guān)鍵字的大小放置到已經(jīng)排好序的子序列的適當(dāng)位置,直到所有排好序?yàn)橹?,該排序算法?)。A.直接插入排序 ? ?B.快速排序C.冒泡排序 ?? D.選擇排序9.在對(duì)一組元素(64,48,106,33,25,82,70,55,93)進(jìn)行直接插入排序時(shí),當(dāng)進(jìn)行到要把第7個(gè)元素70插入到已經(jīng)排好序的子表時(shí),為找到插人位置,需進(jìn)行()次元素n的比較(指由小到大排序)。A.6 ?? B.2C.3? ? ???D.410.采用順序查找法對(duì)長度為n的線性表進(jìn)行查找(不采用表尾設(shè)監(jiān)視哨的方法),最壞的情況下要進(jìn)行()次元素間的比較。A.n+2 ? ??B.nC.n-1 ????? D.n/211如圖,若從頂點(diǎn)a出發(fā)按廣度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的頂點(diǎn)序列為()。A.acebdgf? ? ?B.abecdgfC.acfedgb?? ?D.abecfdg12.元素2,4,6,8按順序依次進(jìn)棧,則該棧的不也許輸出序列是()(進(jìn)棧出棧可以交替進(jìn)行)。A.8,6,4,2 ? ?B.2,4,6,8C.4,2,8,6? ?? D.8,6,2,413.排序方法中,從未排序序列中挑選元素,并將其依次放人已排序序列(初始為空)的一端的方法,稱為()排序。A.歸并?? ? ??B.插人C.選擇 ??? D.快速I4.一棵哈夫曼樹總共有23個(gè)結(jié)點(diǎn),該樹共有()個(gè)葉結(jié)點(diǎn)(終端結(jié)點(diǎn))。A.10 ?? ? B.13C.11?? ?? D.1215.隊(duì)列的插人操作在()進(jìn)行。A.隊(duì)頭 ?????B.隊(duì)尾C.隊(duì)頭或隊(duì)尾? ? ?D.在任意指定位置二、填空題(每小題2分。共24分)16.一棵二又樹沒有單分支結(jié)點(diǎn),有6個(gè)葉結(jié)點(diǎn),則該樹總共有___(dá)_______(dá)_個(gè)結(jié)點(diǎn)。17.設(shè)一棵完全二叉樹,其最高層上最右邊的葉結(jié)點(diǎn)的編號(hào)為奇數(shù),該葉節(jié)點(diǎn)的雙親結(jié)點(diǎn)的編號(hào)為10,該完全二又樹一共有____(dá)___(dá)__(dá)__(dá)個(gè)結(jié)點(diǎn)。18.按照二又樹的遞歸定義,對(duì)二叉樹遍歷的常用算法有先序、___(dá)________(dá)、__(dá)______(dá)___三種。19.結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)多的關(guān)系稱為____(dá)____(dá)__(dá)_結(jié)構(gòu)。20.把數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)中,并具體體現(xiàn)數(shù)據(jù)之間的邏輯結(jié)構(gòu)稱為___(dá)___(dá)_____結(jié)構(gòu)。21.結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)一的關(guān)系稱為_____(dá)______結(jié)構(gòu)。22.如圖2所示的二又樹,其后序遍歷序列為_____(dá)________(dá)____(dá)___(dá)__。23.n個(gè)元素進(jìn)行冒泡法排序,通常需要進(jìn)行__(dá)___(dá)___(dá)____趟排序。24.二叉樹為二又排序的充足必要條件是其任一結(jié)點(diǎn)的值均大于其左孩子的值、小于其右孩子的值。這種說法是___(dá)____(dá)__(dá)___的。(回答對(duì)的或不對(duì)的)25.圖的深度優(yōu)先搜索和廣度優(yōu)先搜索序列不一定是唯一的。此斷言是____(dá)________(dá)的。(回答對(duì)的或不對(duì)的)26.根據(jù)搜索方法的不同,圖的遍歷有______(dá)______________(dá)__、__(dá)____________(dá)________兩種方法。27.按某關(guān)鍵字對(duì)記錄序列排序,若關(guān)鍵字______(dá)_____的記錄在排序前和排序后仍保持它們的前后關(guān)系,則排序算法是穩(wěn)定的,否則是不穩(wěn)定的。三、綜合題(每小題10分,共30分)28.(1)運(yùn)用篩選過程把序列{42,82,67,102,16,32,57,52}建成堆(小根堆),畫出該堆(不規(guī)定中間過程)。(2)寫出對(duì)上述堆相應(yīng)的完全二又樹進(jìn)行中序遍歷得到的序列。29.設(shè)查找表為(16,15,20,53,64,7),(1)用冒泡法對(duì)該表進(jìn)行排序(規(guī)定升序排列),規(guī)定寫出每一趟的排序過程。(2)在排序后的有序表的基礎(chǔ)上,畫出對(duì)其進(jìn)行折半查找所相應(yīng)的鑒定樹。(規(guī)定以數(shù)據(jù)元素作為樹結(jié)點(diǎn))。(3)求在等概率條件下,對(duì)上述有序表成功查找的平均查找長度。30.(1)設(shè)有一個(gè)整數(shù)序列(50,38,16,82,110,13,64},依次取出序列中的數(shù),構(gòu)造一棵二叉排序樹。(2).運(yùn)用上述二叉排序樹,為了查找110,經(jīng)多少次元素間的比較能成功查到,為了查找15,經(jīng)多少次元素間的比較可知道查找失敗?四、程序填空題(每空2分,共16分)31.以下函數(shù)為鏈隊(duì)列的入隊(duì)操作,X為要人隊(duì)的結(jié)點(diǎn)的數(shù)據(jù)域的值,front,rear分別是鏈隊(duì)列的隊(duì)頭、隊(duì)尾指針32.以下函數(shù)在head為頭指針的具有頭結(jié)點(diǎn)的單向鏈表中刪除第1個(gè)結(jié)點(diǎn),?參考答案一、單項(xiàng)選擇題(每小題2分,共30分}CADCCACACBBDCDB二、填空題(每題2分,共24分)16.1117.2118.中序?后序19.樹形20.物理(存儲(chǔ))21.線性22.gdbeihfca23.N-124.不對(duì)的25.對(duì)的26.深度優(yōu)先搜索遍歷 廣度優(yōu)先搜索遍歷27.相等三、綜合應(yīng)用題(每小題10分,共30分)28.(1)(2).102,52,42,82,16,6?,32,5729..(1)原序列16?15 20?53?64?715 16 20 53?7?6415?16 20 7 53?6415?16?7 20 53 6415 7 16 20?53 647 15?16 20 53 64(2)(3)平均查找長度=(1*1+2*2+3*3)/6=14/630.(1)(2)三次,四次四、程序填空題(每空2分,共16分)31.(1)malloc(sizeof(struct node))(2)rear->next=p(3)p32.(1)j<i-1(2)q=q->next(3)q->next(4)q->next(5)p一、單項(xiàng)選擇題(每小題2分,共30分)1.數(shù)據(jù)的物理結(jié)構(gòu)()。A.與數(shù)據(jù)的邏輯結(jié)構(gòu)無關(guān) ? ?B.僅僅涉及數(shù)據(jù)元素的表達(dá)C.只涉及數(shù)據(jù)元素間關(guān)系的表達(dá) ???D.涉及數(shù)據(jù)元素的表達(dá)和關(guān)系的表達(dá)2.從n個(gè)數(shù)中選取最大元素()。A.基本操作是數(shù)據(jù)元素間的互換 ? ?B.算法的時(shí)間復(fù)雜度是O(n2)C.算法的時(shí)間復(fù)雜度是O(n)? ???D.需要進(jìn)行(n+1)次數(shù)據(jù)元素間的比較3.線性表的順序結(jié)構(gòu)中,()。A.邏輯上相鄰的元素在物理位置上不一定相鄰B.數(shù)據(jù)元素是不能隨機(jī)訪問的C.邏輯上相鄰的元素在物理位置上也相鄰D.進(jìn)行數(shù)據(jù)元素的插入、刪除效率較高4.帶頭結(jié)點(diǎn)的單向鏈表為空的判斷條件是()(設(shè)頭指針為head)。A.head==NULL? ? ? ?B.head->next==NULLC.head->next==head ?? D.head?。剑蜺LL5.線性結(jié)構(gòu)中數(shù)據(jù)元素的位置之間存在()的關(guān)系。A.一對(duì)一?? ? ? ?B.一對(duì)多C.多對(duì)多 ? ? ?D.每一個(gè)元素都有-個(gè)直接前驅(qū)和一個(gè)直接后繼6.設(shè)順序存儲(chǔ)的線性表長度為n,要?jiǎng)h除第i個(gè)元素,按課本的算法,當(dāng)i=(),移動(dòng)元素的次數(shù)為3。A.3? ? B.n/2C.n-3? ? D.47.以下說法不對(duì)的的是()。A.棧的特點(diǎn)是后進(jìn)先出B.隊(duì)列的特點(diǎn)是先進(jìn)先出C棧的刪除操作在棧底進(jìn)行,插入操作在棧頂進(jìn)行B隊(duì)列的插入操作在隊(duì)尾進(jìn)行,刪除操作在隊(duì)頭進(jìn)行8.一個(gè)棧的進(jìn)棧序列是a,h,c,d,則棧的不也許的出棧序列是()。A.a(chǎn)dbc ?? ? ?B.beadC.cbad??? ? ??? D.dcba9.設(shè)top是一個(gè)鏈榜的棧頂指針,棧中每個(gè)結(jié)點(diǎn)由一個(gè)數(shù)據(jù)域data和指針域next組成,設(shè)用x接受棧頂元素,則出棧操作為()。A.x=top->data;top=top->next; ?B.top=top->next;x=top->data;C.x=top->next;top=top->data;? D.top->next=top;x=top->dat(yī)a;10.設(shè)有一個(gè)帶頭結(jié)點(diǎn)的鏈隊(duì)列,隊(duì)列中每個(gè)結(jié)點(diǎn)由一個(gè)數(shù)據(jù)域data和指針域next組成,front和rear分別為鏈隊(duì)列的頭指針和尾指針,要執(zhí)行出隊(duì)操作,用x保存出隊(duì)元素的值,p為指向結(jié)點(diǎn)類型的指針,可執(zhí)行如下操作:p=front->next;x=p->dat(yī)a;然后執(zhí)行()。A.front=p->next; ? ? B.front->next=p->next;C.front=p; ?????D.front->next=p;11.以下說法對(duì)的的是()。A.隊(duì)列是后進(jìn)先出B.棧的特點(diǎn)是后進(jìn)后出C.攏的刪除和插入操作都只能在棧頂進(jìn)行D.隊(duì)列的刪除和插入操作都只能在隊(duì)頭進(jìn)行12.在C語言中,存儲(chǔ)字符串"ABCD"需要占用()字節(jié)。A.4 ? ? ???B.2C.5? ? ?? ?D.313.串函數(shù)StrCmp("abA","aba")的值為()。A.1? ??? ? ?B.0C."abAaba" ???????D.-114.設(shè)有一個(gè)10階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式將其下三角部分以行序?yàn)橹餍虼鎯?chǔ)到一維數(shù)組b中。(矩陣A的第一個(gè)元素為al,l,數(shù)組b的下標(biāo)從1開始),則矩陣元素a5,3相應(yīng)一維數(shù)組b的數(shù)組元素是()。A.b[18]??? ??? B.b[8]C.b[13] ? ? D.b[lO]15.已知如圖1所示的一個(gè)圖,若從頂點(diǎn)a出發(fā),按深度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的一種頂點(diǎn)序列為()。A.abecdf ???? ???B.acfebdc.aebcfd? ??D.aedfcb二、填空題{每小黯2分,共24分}16.通常數(shù)據(jù)的邏輯結(jié)構(gòu)涉及集合、線性、___(dá)______(dá)_______(dá)、____(dá)___(dá)____(dá)__(dá)___四種類型。17.通??梢园涯吵鞘兄懈鞴徽军c(diǎn)間的線路圖抽象成_____(dá)____(dá)____(dá)___(dá)_結(jié)構(gòu)。18.設(shè)有一個(gè)單向鏈表,結(jié)點(diǎn)的指針域?yàn)椋頴xt,頭指針為head,p指向尾結(jié)點(diǎn),為了使該單向鏈表改為單向循環(huán)鏈表,可用語句____(dá)____________(dá)_。19.循環(huán)隊(duì)列的隊(duì)頭指針為f,隊(duì)尾指針為r,當(dāng)_____(dá)__(dá)__(dá)_______(dá)_時(shí)表白隊(duì)列已空。20.設(shè)有一個(gè)鏈錢,棧頂指針為hs,現(xiàn)有一個(gè)s所指向的結(jié)點(diǎn)要入棧,則可執(zhí)行操作___(dá)__(dá)__(dá)__(dá)___(dá)___(dá)__和hs=s。21.在-個(gè)鏈隊(duì)中,f和r分別為隊(duì)頭和隊(duì)尾指針,隊(duì)結(jié)點(diǎn)的指針域?yàn)閚ext,則插入一個(gè)s所指結(jié)點(diǎn)的操作為__(dá)__(dá)___(dá)__(dá)____(dá)__(dá)__;r=s。22.串的兩種最基本的存儲(chǔ)方式分別是______(dá)__(dá)__(dá)__(dá)_____和____(dá)__(dá)____(dá)_______。23.一棵二叉樹中順序編號(hào)為i的結(jié)點(diǎn),若它存在左、右孩子,則左、右孩子編號(hào)分別為_____(dá)____(dá)________、_______(dá)___(dá)_____(dá)__。24.兩個(gè)串相等的充足必要條件是___(dá)___(dá)______(dá)___(dá)____(dá)_________(dá)____(dá)___(dá)____(dá)____(dá)____(dá)____。25.一棵二叉樹葉結(jié)點(diǎn)〈終端結(jié)點(diǎn)〉數(shù)為5,單分支結(jié)點(diǎn)數(shù)為2,該樹共有___(dá)__(dá)____(dá)___(dá)個(gè)結(jié)點(diǎn)。26.根據(jù)搜索方法的不同,圖的遍歷有____________(dá)__(dá)_____(dá)____(dá)____(dá)_____(dá)__、_______(dá)___(dá)__(dá)___(dá)___(dá)____(dá)____(dá)_____(dá)___(dá)兩種方法。27.一個(gè)有序表{3,4,10,14,34,43,46,64,75,78,90,96,130}用折半查找法查找值為90的結(jié)點(diǎn),經(jīng)___(dá)_________(dá)_____(dá)次比較后查找成功。三、綜合題(每小題10分,共30分)28.(1)已知某二叉樹的后序遍歷序列是debca,中序遍歷序列是dbeac,試畫出該二叉樹。(2)若上述二叉樹的各個(gè)結(jié)點(diǎn)的字符分別代表不同的整數(shù)(其中沒有相等的),并恰好使該樹成為一棵二叉排序樹,試給出a、b、c、d、e的大小關(guān)系。(3)給出該樹的前序遍歷序列。29.(1)一組記錄的關(guān)鍵字序列為{45,40,65,43,35,95},寫出運(yùn)用快速排序的方法,以第一個(gè)記錄為基準(zhǔn)得到的一趟劃分的結(jié)果(規(guī)定給出一趟劃分中每次掃描和互換的結(jié)果〉。(2)對(duì)序列{45,40,65,43,35,95}運(yùn)用直接插入排序,寫出逐次插入過程(從第一個(gè)元素一直到第六個(gè)元素〉。30.(1)設(shè)有查找表{5,14,2,6,18,7,4,16,3},依次取表中數(shù)據(jù),構(gòu)造一棵二叉排序樹。(2)說明如何通過序列的二叉排序樹得到相應(yīng)序列的排序結(jié)果。四、程序填空題(每空2分,共16分)31.以下函數(shù)在a[O]到a[n-1]中,用折半查找算法查找關(guān)鍵字等于k的記錄,查找成功返回該記錄的下標(biāo),失敗時(shí)返回-1,完畢程序中的空格。32.以下函數(shù)為鏈棧的進(jìn)棧操作,x是要進(jìn)棧的結(jié)點(diǎn)的數(shù)據(jù)域,top為錢頂指針
參考答案一、單項(xiàng)選擇題(每小題2芳,共30分)DCCBACCAABCCDCD二、填空題(每題2分,共24分}16.樹形、圖狀17.圖狀18.p->next=head;19.r=f20.在>next=hs;21.r->next=的22.順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)23.2i、2i+124.串長度相等且相應(yīng)位置的字符相等26.深度優(yōu)先搜索遍歷、廣度優(yōu)先搜索遍歷27.4三、結(jié)合應(yīng)用題(每小題10分,共30分)28.(1)(2)d<b<e<a<c(3)abdec四、程序填空題(每空2分,共16分)一、單項(xiàng)選擇題(每小題2分,共30分)1.()是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的子集。A.數(shù)據(jù)元素? ? ??B.數(shù)據(jù)對(duì)象C.?dāng)?shù)據(jù)結(jié)構(gòu)?? D.數(shù)據(jù)項(xiàng)2.設(shè)鏈表中的結(jié)點(diǎn)是NODE類型的結(jié)構(gòu)體變量,且有NODE頭P;為了申請(qǐng)一個(gè)新結(jié)點(diǎn),并由p指向該結(jié)點(diǎn),可用以下語句()。A.p=(NODE*)malloC{sizeof(NODE); ?B.p=(*ODE)malloC(sizeof(NODE));C.p=(NODE)malloC(sizeof(p)) ? D.p=(NODE*)malloC(sizeof(p));3.設(shè)順序存儲(chǔ)的線性表長度為n,要在第i個(gè)元素之前插入一個(gè)新元素,按課本的算法當(dāng)i=()時(shí),移動(dòng)元素次數(shù)為2。A.n/2?? ? B.nC.1??? ? ? D.n-l4.一個(gè)棧的進(jìn)棧序列是1,2,3,4,則棧的不也許的出棧序列是()(進(jìn)出棧操作可以交替進(jìn)行)。A.3,2,4,1 ? ? B.1,4,2,3C.4,3,2,1? ? D.3,2,1,45.設(shè)有一個(gè)帶頭結(jié)點(diǎn)的鏈隊(duì)列,隊(duì)列中每個(gè)結(jié)點(diǎn)由一個(gè)數(shù)據(jù)域data和指針域next組成,front和rear分別為鏈隊(duì)列的頭指針和尾指針。設(shè)p指向要入隊(duì)的新結(jié)點(diǎn)(該結(jié)點(diǎn)已被賦值),則入隊(duì)操作為()。A.rear->next=p;rear=p;?? ?B.rear->next=p;p=rear;C.p=rear->next;rear=p;??? D.rear=p;rear->next=p;6.以下說法不對(duì)的的是()。A.順序校中,錢滿時(shí)再進(jìn)行進(jìn)校操作稱為"上溢"B.順序校中,找空時(shí)再作出校校操作稱為"下溢"C.順序隊(duì)列中,當(dāng)尾指針已經(jīng)超越隊(duì)列存儲(chǔ)空間的上界,則一定是隊(duì)列已滿D.順序隊(duì)列中,隊(duì)列的頭指針和尾指針均超越隊(duì)列存儲(chǔ)空間的上界,則隊(duì)列已空7.設(shè)有一個(gè)20階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式,將其下三角部分以行序?yàn)橹餍虼鎯?chǔ)到一維數(shù)組中(矩陣A的第一個(gè)元素為a11,數(shù)組b的下標(biāo)從1開始),則矩陣元素a8,5在一維數(shù)組b中的下標(biāo)是()。A.30 ?? B.28C.40? ? ?? D.338.深度為5的完全二叉樹第5層上有4個(gè)結(jié)點(diǎn),該樹一共有()個(gè)結(jié)點(diǎn)。A.28?? ? B.30C.31 ? ? ?D.199.已知一個(gè)圖的所有頂點(diǎn)的度數(shù)之和為m,則m一定不也許是()。A.4 ? ?B.8C.12 ?? ??D.910.以下說法對(duì)的的是()。A.連通圖G的生成樹中可以包含回路 B.連通圖G的生成樹可以是不連通的C.連通圖G的生成樹一定是唯一的? D.連通圖G的生成樹一定是連通而不包含回路的11.對(duì)n個(gè)元素進(jìn)行冒泡排序,通常要進(jìn)行n-l趟冒泡,在第j趟冒泡中共要進(jìn)行()次元素間的比較。A.j? ?? ????B.j-lC.n-j ? ?? ??D.n-j-l12.在排序過程中,可以有效地減少一趟排序過程中元素間的比較次數(shù)的算法是()。A.冒泡 ??? B.選擇C.直接插入 ? ?D.折半插入13.如圖若從頂點(diǎn)a出發(fā)按深度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的頂點(diǎn)序列為()。A.aebCfd ? ?? B.abedCfC.aCebdf? ? ???D.aCfbde14.一棵哈夫曼樹有n個(gè)葉子結(jié)點(diǎn)(終端結(jié)點(diǎn)),該樹總共有()個(gè)結(jié)點(diǎn)。A.2n-2 ??? ? B.2n-lC.2n ? ??D.2n十215.數(shù)據(jù)的()結(jié)構(gòu)與所使用的計(jì)算機(jī)無關(guān)。A.邏輯 ?????B.物理C.存儲(chǔ) ?????? D.邏輯與存儲(chǔ)二、填空題(每小題2分,共24分)1.通常可以把一本具有不同章節(jié)的書的目錄結(jié)構(gòu)抽象成________(dá)____結(jié)構(gòu)。2.要在一個(gè)單向鏈表中p所指向的結(jié)點(diǎn)之后插入一個(gè)S所指向的新結(jié)點(diǎn),若鏈表中結(jié)點(diǎn)的指針域?yàn)椋頴xt,可執(zhí)行___________(dá)_和p->next==s的操作。3.設(shè)有一個(gè)非空的鏈棧,棧頂指針為hs,要進(jìn)行出棧操作,用x保存出棧結(jié)點(diǎn)的值,找結(jié)點(diǎn)的指針域?yàn)椋頴xt,則可執(zhí)行x=hs一>data;___(dá)____(dá)___(dá)______(dá)____(dá)___(dá)_。4.在一個(gè)不帶頭結(jié)點(diǎn)的非空鏈隊(duì)中,f和r分別為隊(duì)頭和隊(duì)尾指針,隊(duì)結(jié)點(diǎn)的數(shù)據(jù)域?yàn)閐ata,指針域?yàn)椋頴xt,若要進(jìn)行出隊(duì)操作,并用變量x存放出隊(duì)元素的數(shù)據(jù)值,則相關(guān)操作為x=f->dat(yī)a;__(dá)_________(dá)___(dá)______(dá)____。5.循環(huán)隊(duì)列的最大存儲(chǔ)空間為MaxSize=8,采用少用一個(gè)元素空間以有效的判斷??栈驐M,若隊(duì)頭指針front=4,則當(dāng)隊(duì)尾指針rear=___(dá)________(dá)_時(shí),隊(duì)列為空,當(dāng)rear=___(dá)_______(dá)__時(shí),隊(duì)列有6個(gè)元素。6.稀疏矩陣存儲(chǔ)時(shí),采用一個(gè)由__________(dá)__、__(dá)_________(dá)_、非零元3部分信息組成的三元組唯一擬定矩陣中的一個(gè)非零元素。7.一棵二叉樹順序編號(hào)為6的結(jié)點(diǎn)(樹中各結(jié)點(diǎn)的編號(hào)與等深度的完全二叉中相應(yīng)位置上結(jié)點(diǎn)的編號(hào)相同),若它存在右孩子,則右孩子的編號(hào)為_____(dá)___(dá)____(dá)。8.數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素存在多對(duì)多的關(guān)系稱為__(dá)___(dá)__(dá)__(dá)___結(jié)構(gòu)o9.數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)多的關(guān)系稱為__(dá)______(dá)____結(jié)構(gòu)。10.如下圖所示的二叉樹,其前序遍歷序列為___(dá)___(dá)__(dá)____(dá)11.在隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)中,當(dāng)插入一個(gè)新的隊(duì)列元素時(shí),____(dá)______(dá)__指針的值增1,當(dāng)刪除一個(gè)元素隊(duì)列時(shí),______(dá)______指針的值增1。12.循環(huán)隊(duì)列的引入,目的是為了克服____________________(dá)___(dá)___________(dá)__。三、綜合題(每小題10分,共30分)1.(1)設(shè)head1和P1分別是不帶頭結(jié)點(diǎn)的單向鏈表A的頭指針和尾指針,head2和P2分別是不帶頭結(jié)點(diǎn)的單向鏈表B的頭指針和尾指針,若要把B鏈表接到A鏈表之后,得到一個(gè)以head1為頭指針的單向循環(huán)鏈表,寫出其中兩個(gè)關(guān)鍵的賦值語句(不用完整程序,結(jié)點(diǎn)的鏈域?yàn)椋頴xt)(2)單向鏈表的鏈域?yàn)閚ext,設(shè)指針p指向單向鏈表中的某個(gè)結(jié)點(diǎn),指針S指向一個(gè)要插入鏈表的新結(jié)點(diǎn),現(xiàn)要把s所指結(jié)點(diǎn)插入p所指結(jié)點(diǎn)之后,某學(xué)生采用以下語句:p->next==s;s->next==p->next;這樣做對(duì)的嗎?若對(duì)的則回答對(duì)的,若不對(duì)的則說明應(yīng)如何改寫。2.(1)畫出對(duì)長度為10的有序表進(jìn)行折半查找的鑒定樹(以序號(hào)1,2,……10表達(dá)樹結(jié)點(diǎn))。(2)對(duì)上述序列進(jìn)行折半查找,求等概率條件下,成功查找的平均查找長度。3.(1)運(yùn)用篩選法,把序列{37,77,62,97,11,27,52,47}建成堆(小根堆)。畫出相應(yīng)的完全二叉樹。(2)寫出對(duì)上述堆所相應(yīng)的二叉樹進(jìn)行前序遍歷得到的序列。四、程序填空題(每空2分,共16分)1.以下函數(shù)為直接選擇排序算法,對(duì)a[口,a[幻,…a[n]中的記錄進(jìn)行直接選擇排序,完畢程序中的空格。2.以下程序是中序遍歷二叉樹的遞歸算法的程序,完畢程序中空格部分(樹結(jié)構(gòu)中左、右指針域分別為left和right,數(shù)據(jù)域data為字符型,BT指向根結(jié)點(diǎn)。?參考答案一、單項(xiàng)選擇題(每小題2分,共30分)BADBACDDDDCDBBA二、填空題(每題2分,共24分)1.樹形2.s->next===p->next;3.hs===hs一>next;4.f===f一>next;5.426.行號(hào)列號(hào)7.138.圖狀9.樹形10.a(chǎn)bdefCg11.尾頭12.假上溢三、綜合應(yīng)用題(每小題10分,共30分)四、程序填空題(每空2分,共16分)1.(l)n-l(2)n(3)k==j(4)a[i]==a[k](5)a[k]==temp2.(1)Inorder(BT->left)(2)printf("%C",BT->data)(3)Inorder(B1-"->right)一、單項(xiàng)選擇題(每小題2分,共30分)1.?dāng)?shù)據(jù)元素是數(shù)據(jù)的3基本單位,它( )。A.只能有一個(gè)數(shù)據(jù)項(xiàng)組成?? ???? B.至少有二個(gè)數(shù)據(jù)項(xiàng)組成C.可以是一個(gè)數(shù)據(jù)項(xiàng)也可以由若干個(gè)數(shù)據(jù)項(xiàng)組成? ?D.至少有一個(gè)數(shù)據(jù)項(xiàng)為指針類型2.絨性表的順序結(jié)構(gòu)中,( ?)。A邏輯上相鄰的元素在物理位置上不一定相鄰 ??B.數(shù)據(jù)元素是不能隨機(jī)訪問的C.邏輯上相鄰的元素在物理位置上也相鄰? D.進(jìn)行數(shù)據(jù)元素的插入、刪除效率較高3.以下表中可以隨機(jī)訪問的是(??)。A.單向鏈表? ? ? B.雙向鏈表C.單向循環(huán)鏈表 ??? ?? D.順序表4.設(shè)順序存儲(chǔ)的錢性表長度為n,對(duì)于刪除操作,設(shè)刪除位置是等概率的,則刪除一個(gè)元素平均移動(dòng)元素的次數(shù)為(? )。A.(n+1)/2 ? ???? B.nC.2n ??? ?? ??D.n-i5.設(shè)top是一個(gè)鏈棧的棧頂指針,棧中每個(gè)結(jié)點(diǎn)由一個(gè)數(shù)據(jù)域data和指針域next組成,設(shè)用x接受樓頂元素,則出棧操作為( ?)。A.x=top->data;top=top->next; ? ? ?B.top=top->next;x=top->data;C.x=top->next;top=top->data;?? ?D.top->next=top;x=top->data;6.以于說法對(duì)的的是( )。A.隊(duì)列是后進(jìn)先出 ?? ? ? B.棧的特點(diǎn)是后進(jìn)后出C.棧的刪除和插入操作都只能在棧頂進(jìn)行??? D.隊(duì)列的刪除和捶入操作都只能在隊(duì)頭進(jìn)行7.串函數(shù)StrCmp("b","cd")的值為(? )。A.1????? ??? ?B.0C."bcd"??? D.-18.設(shè)有一個(gè)12階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式將其下三角部分以行序?yàn)橹鞔鎯?chǔ)如一維數(shù)組b中〈矩陣A的第一個(gè)元素為al,l,數(shù)組b的下標(biāo)從1開始),則矩陣A中第4行的元素在數(shù)組b中的下標(biāo)i一定有( )。9.已知一個(gè)圖的邊數(shù)為m.則該圖的所有頂點(diǎn)的度數(shù)之和為( ?)。A.2m? ???? ? B.mC.2m+1?? ?? ? D.m/210.以下說法不對(duì)的的是(? )。A.連通圖G一定存在生成樹B.連通圈G的生成樹中一定包含G的所有頂點(diǎn)C.連通圖G的生成制中不一定包含G的所有邊D.連通圖G的生成樹可以是不連同的11.散列查找的原理是(? )。A.在待查記錄的關(guān)鍵字值與該記錄的存儲(chǔ)位置之間建立擬定的相應(yīng)關(guān)系B.按待查記錄的關(guān)鍵字有序的順序方式存儲(chǔ)C.按關(guān)鍵字值的比較進(jìn)行查找D.基于二分查找的方法12.排序過程中,每一趟從無序子表中將一個(gè)待排序的記錄按其關(guān)鍵字的大小放置到已經(jīng)排好序的子序列的適當(dāng)位置,直到所有排好序?yàn)橹?,該排序算法是?)。A.直接插入排序?? ??? ??B.快速排序fC.冒泡排序 ?? ? ?? D.選擇排序13.采用順序查找法對(duì)長度為n的線性表進(jìn)行查找〈不采用表尾設(shè)監(jiān)視哨的方法),最壞的情況下要進(jìn)行(?)次元素間的比較。A.n+2 ????? ? ???B.nC.n-l ? ? ? ??D.n/214.如圖若從頂點(diǎn)a出發(fā)按廣度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的頂點(diǎn)序列為(? )。A.acebdfgh ? ? ? ?B.aebcghdfC.aedfbcgh?? ? ?? ?D.a(chǎn)becdfgh15.一棵哈夫曼樹總共有23個(gè)結(jié)點(diǎn),該樹共有( ?)個(gè)葉結(jié)點(diǎn)(終端結(jié)點(diǎn)〉。A.10? ? ? ? ?? B.13C.11????? ? ? D.121363i二、填空題{每小黯2分,共24分}1.通常數(shù)據(jù)的邏輯結(jié)構(gòu)涉及_____(dá)____(dá)___、______(dá)__(dá)___、__________(dá)_、__(dá)___(dá)______(dá)_四種類型。2.設(shè)有一個(gè)單向鏈表,結(jié)點(diǎn)的指針域?yàn)閚ext,頭指針為head,p指向尾結(jié)點(diǎn),為了使該單向鏈表改為單向循環(huán)鏈表,可用語句_____(dá)_____(dá)______________(dá)___(dá)_____(dá)___(dá)____。3.設(shè)有一個(gè)單向循環(huán)鏈表,頭指針為head,鏈表中結(jié)點(diǎn)的指針域?yàn)閚ext,p指向尾結(jié)點(diǎn)的直接前驅(qū)結(jié)點(diǎn),若要?jiǎng)h除尾結(jié)點(diǎn),得到一個(gè)新的單向循環(huán)鏈表,可執(zhí)行操作____(dá)__(dá)___(dá)____(dá)___(dá)__(dá)_____(dá)_____。4.在一個(gè)鏈隊(duì)中,f和r分別為隊(duì)頭和隊(duì)尾指針,隊(duì)結(jié)點(diǎn)的指針域?yàn)閚ext,則插入一個(gè)s所指結(jié)點(diǎn)的操作為___(dá)__(dá)___(dá)__(dá)__
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工安全防護(hù)操作合同樣本
- 設(shè)立分公司市場(chǎng)推廣協(xié)議
- 婦科診所主任醫(yī)師招聘協(xié)議范本
- 客戶關(guān)系管理保密協(xié)議管理辦法
- 民事請(qǐng)律師合同范例
- 自主聯(lián)系醫(yī)學(xué)生協(xié)議書(2篇)
- 托管合同法律規(guī)定
- 公路養(yǎng)護(hù)的合同工好嗎
- 工作內(nèi)容 擬寫合同
- 集體建設(shè)用地使用權(quán)聯(lián)營合同
- 《大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)》教學(xué)教案
- 選礦廠標(biāo)準(zhǔn)工藝標(biāo)準(zhǔn)流程圖
- 模具移轉(zhuǎn)作業(yè)流程
- GB∕T 37073-2018 展覽展示工程企業(yè)能力評(píng)價(jià)導(dǎo)則
- 萬達(dá)開業(yè)周計(jì)劃表
- 機(jī)動(dòng)車檢測(cè)站安全隱患排查記錄表
- 第八章-醫(yī)藥產(chǎn)品分銷渠道策略課件
- Q∕GDW 10799.6-2018 國家電網(wǎng)有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- CASS土石方計(jì)算
- 生產(chǎn)部經(jīng)理工作周報(bào)表
- 臥式儲(chǔ)罐焊接結(jié)構(gòu)和工藝設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論