版權(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)(本)期末綜合練習(xí)一一、單項(xiàng)選擇題1.數(shù)據(jù)元素是數(shù)據(jù)的基本單位,它()。A.只能有一個(gè)數(shù)據(jù)項(xiàng)組成B.至少有二個(gè)數(shù)據(jù)項(xiàng)組成C.至少有一個(gè)數(shù)據(jù)項(xiàng)為指針類型D.可以是一個(gè)數(shù)據(jù)項(xiàng)也可以由若干個(gè)數(shù)據(jù)項(xiàng)組成2.()是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的子集。A.?dāng)?shù)據(jù)對(duì)象B.?dāng)?shù)據(jù)元素C.?dāng)?shù)據(jù)結(jié)構(gòu)D.數(shù)據(jù)項(xiàng)3.線性表的順序結(jié)構(gòu)中,()。A.邏輯上相鄰的元素在物理位置上不一定相鄰B.邏輯上相鄰的元素在物理位置上也相鄰C.數(shù)據(jù)元素是不能隨機(jī)訪問的D.進(jìn)行數(shù)據(jù)元素的插入、刪除效率較高4.設(shè)鏈表中的結(jié)點(diǎn)是NODE類型的結(jié)構(gòu)體變量,且有NODE*p;為了申請(qǐng)一個(gè)新結(jié)點(diǎn),并由p指向該結(jié)點(diǎn),可用以下語(yǔ)句()。A.p=(NODE*)malloc(sizeof(p));B.p=(*NODE)malloc(sizeof(NODE));C.p=(NODE)malloc(sizeof(p));D.p=(NODE*)malloc(sizeof(NODE));5.以下表中可以隨機(jī)訪問的是()。A.單向鏈表B.順序表C.單向循環(huán)鏈表D.雙向鏈表6.設(shè)順序存儲(chǔ)的線性長(zhǎng)度為n,要在第i個(gè)元素之前插入一個(gè)新元素,按課本的算法當(dāng)i=()時(shí),移動(dòng)元素次數(shù)為2A.n/2B.nC.n-17.設(shè)順序存儲(chǔ)的線性表長(zhǎng)度為n,對(duì)于刪除操作,設(shè)刪除位置是等概率的,則刪除一個(gè)元素平均移動(dòng)元素的次數(shù)為()。A.(n+1)/2B.nC.2nD.n-i8.一個(gè)棧的進(jìn)棧序列是1,2,3,4,則棧的不也許的出棧序列是()(進(jìn)出棧操作可以交替進(jìn)行)A.3,2,4,1B.3,2,1,4C.4,3,2,1D.1,4,2,39.設(shè)top是一個(gè)鏈棧的棧頂指針,棧中每個(gè)結(jié)點(diǎn)由一個(gè)數(shù)據(jù)域dat(yī)a和指針域next組成,設(shè)用x接受棧頂元素,則出棧操作為()。A.top=top->next;x=top->data;B.x=top->data;top=top->next;C.x=top->next;top=top->data;D.top->next=top;x=top->data;10.設(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;11.以下說法對(duì)的的是()。A.隊(duì)列是后進(jìn)先出B.棧的特點(diǎn)是后進(jìn)后出C.棧的刪除和插入操作都只能在棧頂進(jìn)行D.隊(duì)列的刪除和插入操作都只能在隊(duì)頭進(jìn)行12.以下說法不對(duì)的的是()。A.順序棧中,棧滿時(shí)再進(jìn)行進(jìn)棧操作稱為“上溢”B.順序棧中,??諘r(shí)再作出棧棧操作稱為“下溢”C.順序隊(duì)列中,隊(duì)列的頭指針和尾指針均超越隊(duì)列存儲(chǔ)空間的上界,則隊(duì)列已空D.順序隊(duì)列中,當(dāng)尾指針已經(jīng)超越隊(duì)列存儲(chǔ)空間的上界,則一定是隊(duì)列已滿13.串函數(shù)StrCmp(“abA”,”aba”)的值為()。A.1B.0C.“abAaba”D14.設(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.30B.28C.40D15.設(shè)有一個(gè)12階的對(duì)稱矩陣A,采用壓縮存儲(chǔ)方式將其下三角部分以行序?yàn)橹餍虼鎯?chǔ)到一維數(shù)組b中(矩陣A的第一個(gè)元素為a1,1,數(shù)組b的下標(biāo)從1開始),則矩陣A中第4行的元素在數(shù)組b中的下標(biāo)i一定有()。A.7≤i≤10B.11≤i≤15C.9≤i≤14D.6≤i≤16.深度為5的完全二叉樹第5層上有4個(gè)結(jié)點(diǎn),該樹一共有()個(gè)結(jié)點(diǎn)。A.28B.30C.31D17.已知一個(gè)圖的邊數(shù)為m,則該圖的所有頂點(diǎn)的度數(shù)之和為()。A.2mB.mC.2m+1D.m/218.已知一個(gè)圖的所有頂點(diǎn)的度數(shù)之和為m,則m一定不也許是()。A.4B.8C.12D19.以下說法不對(duì)的的是()。A.連通圖G一定存在生成樹B.連通圖G的生成樹中一定包含G的所有頂點(diǎn)C.連通圖G的生成樹中不一定包含G的所有邊D.連通圖G的生成樹可以是不連通的20.以下說法對(duì)的的是()。A.連通圖G的生成樹中可以包含回路B.連通圖G的生成樹可以是不連通的C.連通圖G的生成樹一定是連通而不包含回路的D.連通圖G的生成樹一定是唯一的21.散列查找的原理是()。A.在待查記錄的關(guān)鍵字值與該記錄的存儲(chǔ)位置之間建立擬定的相應(yīng)關(guān)系B.按待查記錄的關(guān)鍵字有序的順序方式存儲(chǔ)C.按關(guān)鍵字值的比較進(jìn)行查找D.基于二分查找的方法22.對(duì)n個(gè)元素進(jìn)行冒泡排序,通常要進(jìn)行n-1趟冒泡,在第j趟冒泡中共要進(jìn)行()次元素間的比較。A.jB.j-1C.n-jD23.排序過程中,每一趟從無序子表中將一個(gè)待排序的記錄按其關(guān)鍵字的大小放置到已經(jīng)排好序的子序列的適當(dāng)位置,直到所有排好序?yàn)橹?該排序算法是()。A.直接插入排序B.快速排序C.冒泡排序D.選擇排序24.在排序過程中,可以有效地減少一趟排序過程中元素間的比較次數(shù)的算法是()。A.冒泡B.選擇C.折半插入D.直接插入25.采用順序查找法對(duì)長(zhǎng)度為n的線性表進(jìn)行查找(不采用表尾設(shè)監(jiān)視哨的方法),最壞的情況下要進(jìn)行()次元素間的比較。A.n+2B.nC.n-1D.n/226.如圖若從頂點(diǎn)a出發(fā)按深度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的頂點(diǎn)序列為()。abecabecdfB.abedcfC.a(chǎn)cebdfD.acfbde圖127.如圖若從頂點(diǎn)a出發(fā)按廣度優(yōu)先搜索法進(jìn)行遍歷,則也許得到的頂點(diǎn)序列為()。ababecdhgfB.aebcghdfC.aedfbcghD.abecdfgh圖228.一棵哈夫曼樹有n個(gè)葉子結(jié)點(diǎn)(終端結(jié)點(diǎn)),該樹總共有()個(gè)結(jié)點(diǎn)。A.2n-2B.2n-1C.2nD.29.一棵哈夫曼樹總共有23個(gè)結(jié)點(diǎn),該樹共有()個(gè)葉結(jié)點(diǎn)(終端結(jié)點(diǎn))A.10B.11C.12D.30.?dāng)?shù)據(jù)的()結(jié)構(gòu)與所使用的計(jì)算機(jī)無關(guān)。A.邏輯B.物理C.存儲(chǔ)D.邏輯與存儲(chǔ)二、填空題1.通常數(shù)據(jù)的邏輯結(jié)構(gòu)涉及____(dá)、__(dá)__、__(dá)__(dá)、____四種類型。2.通??梢园岩槐揪哂胁煌鹿?jié)的書的目錄結(jié)構(gòu)抽象成___(dá)___(dá)__結(jié)構(gòu)。3.設(shè)有一個(gè)單向鏈表,結(jié)點(diǎn)的指針域?yàn)椋頴xt,頭指針為head,p指向尾結(jié)點(diǎn),為了使該單向鏈表改為單向循環(huán)鏈表,可用語(yǔ)句___(dá)_____。4.要在一個(gè)單向鏈表中p所指向的結(jié)點(diǎn)之后插入一個(gè)s所指向的新結(jié)點(diǎn),若鏈表中結(jié)點(diǎn)的指針域?yàn)閚ext,可執(zhí)行________和p->next=s;的操作。5.設(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á)_。6.設(shè)有一個(gè)非空的鏈棧,棧頂指針為hs,要進(jìn)行出棧操作,用x保存出棧結(jié)點(diǎn)的值,棧結(jié)點(diǎn)的指針域?yàn)閚ext,則可執(zhí)行x=hs->data;________(dá)。7.在一個(gè)鏈隊(duì)中,f和r分別為隊(duì)頭和隊(duì)尾指針,隊(duì)結(jié)點(diǎn)的指針域?yàn)閚ext,則插入一個(gè)s所指結(jié)點(diǎn)的操作為________;r=s;8.在一個(gè)不帶頭結(jié)點(diǎn)的非空鏈隊(duì)中,f和r分別為隊(duì)頭和隊(duì)尾指針,隊(duì)結(jié)點(diǎn)的數(shù)據(jù)域?yàn)椋鋋ta,指針域?yàn)椋頴xt,若要進(jìn)行出隊(duì)操作,并用變量x存放出隊(duì)元素的數(shù)據(jù)值,則相關(guān)操作為x=f->data;_____(dá)___。9.循環(huán)隊(duì)列的隊(duì)頭指針為f,隊(duì)尾指針為r,當(dāng)_____時(shí)表白隊(duì)列為空。10.循環(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è)元素。11.“A”在存儲(chǔ)時(shí)占________個(gè)字節(jié)。12.稀疏矩陣存儲(chǔ)時(shí),采用一個(gè)由____、___(dá)_、____3部分信息組成的三元組唯一擬定矩陣中的一個(gè)非零元素。13.一棵二叉樹沒有單分支結(jié)點(diǎn),有6個(gè)葉結(jié)點(diǎn),則該樹總共有_____(dá)___個(gè)結(jié)點(diǎn)。14.一棵二叉樹順序編號(hào)為6的結(jié)點(diǎn)(樹中各結(jié)點(diǎn)的編號(hào)與等深度的完全二叉樹中相應(yīng)位置上結(jié)點(diǎn)的編號(hào)相同),若它存在右孩子,則右孩子的編號(hào)為__(dá)____(dá)__。15.按照二叉樹的遞歸定義,對(duì)二叉樹遍歷的常用算法有____(dá)、____、____三種。16.結(jié)構(gòu)中的數(shù)據(jù)元素存在多對(duì)多的關(guān)系稱為________結(jié)構(gòu)。17.把數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)中,并具體體現(xiàn)數(shù)據(jù)之間的邏輯結(jié)構(gòu)稱為________結(jié)構(gòu)。18.結(jié)構(gòu)中的數(shù)據(jù)元素存在一對(duì)多的關(guān)系稱為__(dá)___(dá)___結(jié)構(gòu)。19.如圖3所示的二叉樹,其后序遍歷序列為。eefgibachd圖320.如圖4所示的二叉樹,其前序遍歷序列為___(dá)______(dá)。ggfabdec圖421.二叉樹為二叉排序的充足必要條件是其任一結(jié)點(diǎn)的值均大于其左孩子的值、小于其右孩子的值。這種說法是__________的。(回答對(duì)的或不對(duì)的)22.在隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)中,當(dāng)插入一個(gè)新的隊(duì)列元素時(shí),指針的值增1,當(dāng)刪除一個(gè)元素隊(duì)列時(shí),指針的值增1。23.根據(jù)搜索方法的不同,圖的遍歷有____、____兩種方法24.循環(huán)隊(duì)列的引入,目的是為了克服。三、綜合題1.(1)已知某二叉樹的后序遍歷序列是debca,中序遍歷序列是dbeac,試畫出該二叉樹(2)若上述二叉樹的各個(gè)結(jié)點(diǎn)的字符分別代表不同的整數(shù)(其中沒有相等的),并恰好使該樹成為一棵二叉排序樹,試給出a、b、c、d、e的大小關(guān)系(3)給出該樹的前序遍歷序列2.(1)設(shè)head1和p1分別是不帶頭結(jié)點(diǎn)的單向鏈表A的頭指針和尾指針,head2和p2分別是不帶頭結(jié)點(diǎn)的單向鏈表B的頭指針和尾指針,若要把B鏈表接到A鏈表之后,得到一個(gè)以head1為頭指針的單向循環(huán)鏈表,寫出其中兩個(gè)關(guān)鍵的賦值語(yǔ)句(不用完整程序,結(jié)點(diǎn)的鏈域?yàn)閚ext)。(2)單向鏈表的鏈域?yàn)椋頴xt,設(shè)指針p指向單向鏈表中的某個(gè)結(jié)點(diǎn),指針s指向一個(gè)要插入鏈表的新結(jié)點(diǎn),現(xiàn)要把s所指結(jié)點(diǎn)插入p所指結(jié)點(diǎn)之后,某學(xué)生采用以下語(yǔ)句:p->next=s;s->next=p->next;這樣做對(duì)的嗎?若對(duì)的則回答對(duì)的,若不對(duì)的則說明應(yīng)如何改寫3.(1)設(shè)有一個(gè)整數(shù)序列{40,28,6,72,100,3,54}依次取出序列中的數(shù),構(gòu)造一棵二叉排序樹(2)對(duì)上述二叉排序樹,在等概率條件下,求成功查找的平均查找長(zhǎng)度4.(1)畫出對(duì)長(zhǎng)度為10的有序表進(jìn)行折半查找的鑒定樹(以序號(hào)1,2,……10表達(dá)樹結(jié)點(diǎn))(2)對(duì)上述序列進(jìn)行折半查找,求等概率條件下,成功查找的平均查找長(zhǎng)度5.(1)運(yùn)用篩選過程把序列{42,82,67,102,16,32,57,52}建成堆(小根堆),畫出相應(yīng)的完全二叉樹(不規(guī)定中間過程)(2)寫出對(duì)上述堆相應(yīng)的完全二叉樹進(jìn)行中序遍歷得到的序列6.(1)運(yùn)用篩選法,把序列{37,77,62,97,11,27,52,47}建成堆(小根堆),畫出相應(yīng)的完全二叉樹(2)寫出對(duì)上述堆所相應(yīng)的二叉樹進(jìn)行前序遍歷得到的序列四、程序填空題1.以下函數(shù)在a[0]到a[n-1]中,用折半查找算法查找關(guān)鍵字等于k的記錄,查找成功返回該記錄的下標(biāo),失敗時(shí)返回-1,完畢程序中的空格typedefstruct{intkey;……}NODE;intBinary_Search(NODEa[],intn,intk){intlow,mid,high;low=0;high=n-1;while(___(dá)(1)_____){mid=(low+high)/2;if(a[mid].key==k)return__(2)__(dá)___(dá)_;?elseif(___(3)__(dá)___(dá))low=mid+1; else__(4)____(dá)__(dá); }___(5)_____; }2.以下函數(shù)為直接選擇排序算法,對(duì)a[1],a[2],…a[n]中的記錄進(jìn)行直接選擇排序,完畢程序中的空格typedefstruct{intkey;……}NODE;voidselsort(NODEa[],intn){?inti,j,k; NODEtemp; for(i=1;i<=__(dá)_(1)__(dá)___(dá);i++)?{? k=i; for(j=i+1;j<=__(dá)_(2)___(dá)__(dá);j++)? ?if(a[j].key<a[k].key)__(3)___(dá)___;? if(i!=k)??{???temp=a[i]; ___(4)___(dá)__(dá); ____(5)____;??} }}3.以下函數(shù)為鏈隊(duì)列的入隊(duì)操作,x為要入隊(duì)的結(jié)點(diǎn)的數(shù)據(jù)域的值,front、rear分別是鏈隊(duì)列的隊(duì)頭、隊(duì)尾指針structnode{ElemTypedata;structnode*next;};structnode*front,*rear;voidInQueue(ElemTypex){structnode*p;p=(structnode*)___(dá)(1)___(dá)__;p->dat(yī)a=x;p->next=NULL;___(dá)(2)____(dá)_;rear=___(dá)(3)__(dá)___;}4.以下程序是中序遍歷二叉樹的遞歸算法的程序,完畢程序中空格部分(樹結(jié)構(gòu)中左、右指針域分別為left和right,數(shù)據(jù)域data為字符型,BT指向根結(jié)點(diǎn))。voidInorder(structBTreeNode*BT){if(BT!=NULL){(1);(2);(3);}}答案一、單項(xiàng)選擇題1.D2.A3.B4.D5.B6.C7.A8.D9.B10.A11.C12.D13.D14.D15.A16.D17.A18.D19.D20.C21.A22.C23.A24.C25.B26.B27.D28.B29.C30.A二、填空題1.集合;線性;樹形;圖狀2.樹形3.p->next=head;4.s->next=p->next;5.p->next=head;6.hs=hs->next;7.r->next=s8.f=f->next;9.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44571-2024人造革合成革試驗(yàn)方法游離異氰酸酯含量的測(cè)定
- GB/T 44685-2024印刷機(jī)械油墨干燥及固化裝置能效評(píng)價(jià)方法
- 禮服商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 化妝用漂白劑脫色劑產(chǎn)品供應(yīng)鏈分析
- 腰包商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 醫(yī)用軟化水產(chǎn)品供應(yīng)鏈分析
- 塑料旅行袋產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 個(gè)人資產(chǎn)保險(xiǎn)索賠評(píng)估行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 書籍裝訂用布產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 編碼和解碼裝置和儀器產(chǎn)品供應(yīng)鏈分析
- 流體力學(xué)期末復(fù)習(xí)試題含答案(大學(xué)期末復(fù)習(xí)資料)
- 內(nèi)外部項(xiàng)目合作管理制度
- 輸尿管軟鏡的手術(shù)操作
- 《烏魯木齊市國(guó)土空間總體規(guī)劃(2021-2035年)》
- 教師進(jìn)企業(yè)實(shí)踐日志
- 2024版新房屋裝修貸款合同范本
- 15MW源網(wǎng)荷儲(chǔ)一體化項(xiàng)目可行性研究報(bào)告寫作模板-備案審批
- 少先隊(duì)輔導(dǎo)員筆試題庫(kù)附有答案
- 嬰兒培養(yǎng)箱校準(zhǔn)規(guī)范
- 《補(bǔ)貼與反補(bǔ)貼措施協(xié)議》對(duì)出口信貸的法律規(guī)制研究2
- 鐵道運(yùn)輸實(shí)訓(xùn)總結(jié)報(bào)告
評(píng)論
0/150
提交評(píng)論