2023年大連東軟數(shù)據(jù)結(jié)構(gòu)題庫(kù)_第1頁(yè)
2023年大連東軟數(shù)據(jù)結(jié)構(gòu)題庫(kù)_第2頁(yè)
2023年大連東軟數(shù)據(jù)結(jié)構(gòu)題庫(kù)_第3頁(yè)
2023年大連東軟數(shù)據(jù)結(jié)構(gòu)題庫(kù)_第4頁(yè)
2023年大連東軟數(shù)據(jù)結(jié)構(gòu)題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.6習(xí)題1.6.1知識(shí)點(diǎn):數(shù)據(jù)結(jié)構(gòu)的定義一、選擇題1①數(shù)據(jù)結(jié)構(gòu)通常是研究數(shù)據(jù)的(A)及它們之間的互相聯(lián)系。A.存儲(chǔ)和邏輯結(jié)構(gòu)B.存儲(chǔ)結(jié)構(gòu)C.順序結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)2①數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)器內(nèi)表達(dá)時(shí),物理地址與邏輯地址相同并且是連續(xù)的,稱(chēng)之為(C)A.存儲(chǔ)結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲(chǔ)結(jié)構(gòu)D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)3①線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種(D)。A.一對(duì)多關(guān)系B.多對(duì)多關(guān)系C多對(duì)一關(guān)系D一對(duì)一關(guān)系4①計(jì)算機(jī)內(nèi)部數(shù)據(jù)解決的基本單位是(B)。A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)庫(kù)5②從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為(C)兩大類(lèi)?!疚錆h交通科技1996】A.動(dòng)態(tài)結(jié)構(gòu)、靜態(tài)結(jié)構(gòu)B.順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)C.線性結(jié)構(gòu)、非線性結(jié)構(gòu)D.初等結(jié)構(gòu)、構(gòu)造型結(jié)構(gòu)二、填空題1①數(shù)據(jù)結(jié)構(gòu)按邏輯結(jié)構(gòu)可分為四大類(lèi),它們分別是集合、線性、樹(shù)、圖。2①數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)可用四種基本的存儲(chǔ)方法表達(dá),它們分別是順序、鏈?zhǔn)?、散列、索引。判斷題(F)1①數(shù)據(jù)元素是數(shù)據(jù)的最小單位。(T)2①記錄是數(shù)據(jù)解決的最小單位。(F)3①數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)的各數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系。(T)4①數(shù)據(jù)的物理結(jié)構(gòu)是指數(shù)據(jù)在計(jì)算機(jī)內(nèi)的實(shí)際存儲(chǔ)形式。簡(jiǎn)答題1①簡(jiǎn)述什么是數(shù)據(jù)結(jié)構(gòu)?2②數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)類(lèi)型有什么區(qū)別?【哈爾濱工業(yè)2023】1.6.2知識(shí)點(diǎn):算法的概念一、選擇題1①計(jì)算機(jī)算法指的是(C)A.計(jì)算方法 ?B.排序方法 ?C.解決問(wèn)題的有限運(yùn)算序列 D.調(diào)度方法2①算法分析的目的是((1)C),算法分析的兩個(gè)重要方面((2)A).A.找出數(shù)據(jù)結(jié)構(gòu)的合理性??B.研究算法中的輸入與輸出的關(guān)系C.分析算法的效率以求改善 D.分析算法的易查性和文檔性A.空間復(fù)雜度和時(shí)間復(fù)雜度?B.對(duì)的性和簡(jiǎn)明性C.可讀性和文檔性???D.數(shù)據(jù)復(fù)雜性和程序復(fù)雜性3②設(shè)語(yǔ)句X++的時(shí)間是單位時(shí)間,則語(yǔ)句:for(i=1;i<=n;i++)x++;時(shí)間復(fù)雜度為(C)。A.O(1)B.O(n)C.O(n2)D.O(n3)4②算法的計(jì)算量的大小稱(chēng)為計(jì)算的(B)?!颈本┼]電2023】A.效率B.復(fù)雜性C.現(xiàn)實(shí)性D.難度5②算法的時(shí)間復(fù)雜度取決于(C)【中科院計(jì)算所1998】A.問(wèn)題的規(guī)模B.待解決數(shù)據(jù)的初態(tài)C.A和B6②下面關(guān)于算法說(shuō)法錯(cuò)誤的是(A)【南京理工2023】A.算法最終必須由計(jì)算機(jī)程序?qū)崿F(xiàn)B.為解決某問(wèn)題的算法同為該問(wèn)題編寫(xiě)的程序含義是相同的C.算法的可行性是指指令不能有二義性D.以上幾個(gè)都是錯(cuò)誤的7②下面說(shuō)法錯(cuò)誤的是(D)【南京理工2023】算法原地工作的含義是指不需要任何額外的輔助空間在相同的規(guī)模n下,復(fù)雜度O(n)的算法在時(shí)間上總是優(yōu)于復(fù)雜度O(2n)的算法所謂時(shí)間復(fù)雜度是指最壞情況下,估算算法執(zhí)行時(shí)間的一個(gè)上界同一個(gè)算法,實(shí)現(xiàn)語(yǔ)言的級(jí)別越高,執(zhí)行效率就越低A.(1)B.(1),(2)C.(1),(4)D.(3)8②程序段for(i=n-1;i>=1;i++)for(j=1;j<=i;j++)if(A[j]>A[j+1])A[j]與A[j+1]對(duì)換;其中n為正整數(shù),則最后一行的語(yǔ)句頻度在最壞情況下是(D)【南京理工1998】A.O(n)B.O(nlog2n)C.O(n3)D.O(n2)二、填空題1①以?shī)A雜自然語(yǔ)言和程序語(yǔ)句的形式來(lái)描述解決問(wèn)題的方法稱(chēng)為_(kāi)___(dá)偽碼________(dá)。2①一個(gè)算法的效率可分為_(kāi)__時(shí)間______(dá)效率和__(dá)空間_______(dá)效率.3②有一個(gè)程序片斷如下:for(i=0;i<n;i++)x=x+1;則其時(shí)間復(fù)雜度為:_O(n)________4②有一個(gè)程序片斷如下:for(i=0;i<n;i++)for ?(j=i;j<n;j++)for(k=j;k<n;k++)m=1;則其時(shí)間復(fù)雜度為:O(n3)5②有一個(gè)程序片斷如下:for(i=0;i<n;i++){j=i;while(j>=2)j=j/2;}則其時(shí)間復(fù)雜度為:O(nlog2n)判斷題(T)1①算法的優(yōu)劣與算法描述語(yǔ)言無(wú)關(guān),但與所用計(jì)算機(jī)有關(guān)。(T)2①健壯的算法不會(huì)因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)。(F)3①程序一定是算法。簡(jiǎn)答題1①如何判斷一個(gè)算法的好壞?2③調(diào)用下列C函數(shù)f(n)回答下列問(wèn)題:(1)試指出f(n)值的大小,并寫(xiě)出f(n)值的推導(dǎo)過(guò)程;(2)假定n=5,試指出f(5)值的大小和執(zhí)行f(5)時(shí)的輸出結(jié)果。C函數(shù):intf(intn){inti,j,k,sum=0;for(i=l;i<n+1;i++){for(j=n;j>i-1;j--)for(k=1;k<j+1;k++)sum++;printf("sum=%d\n",sum);}return(sum);}【華中理工2023】2.7習(xí)題2.7.1知識(shí)點(diǎn):線性表的邏輯結(jié)構(gòu)一、選擇題1①線性表L=(a1,a2,…,an),下列說(shuō)法對(duì)的的是(D)。A.每個(gè)元素都有一個(gè)直接前驅(qū)和一個(gè)直接后繼。B.線性表中至少要有一個(gè)元素。C.表中諸元素的排列順序必須是由小到大或由大到小。D.除第一個(gè)和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且僅有一個(gè)直接前驅(qū)和直接后繼。2①在線性表的下列運(yùn)算中,不改變數(shù)據(jù)元素之間結(jié)構(gòu)關(guān)系的運(yùn)算是(D)。A.插入B.刪除 ?C.排序D.定位3①線性表是具有n個(gè)(C)的有限序列(n>0)?!厩迦A1998】A.表元素B.字符C.數(shù)據(jù)元素D.?dāng)?shù)據(jù)項(xiàng)E.信息項(xiàng)二、判斷題(T)1①線性表中的每個(gè)結(jié)點(diǎn)最多只有一個(gè)前驅(qū)和一個(gè)后繼。(F)2①線性表中的每個(gè)結(jié)點(diǎn)都至少有一個(gè)前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)。(F)3①線性表是N個(gè)數(shù)的有限序列。(F)4①同一線性表的數(shù)據(jù)元素可以具有不同的特性。(T)5①線性表的長(zhǎng)度n就是表中數(shù)據(jù)元素的個(gè)數(shù),當(dāng)n=0時(shí),稱(chēng)為空表。(T)6①線性表是一個(gè)相稱(chēng)靈活的數(shù)據(jù)結(jié)構(gòu),它的長(zhǎng)度可根據(jù)需要增長(zhǎng)或縮短。(F)7①對(duì)線性表中的數(shù)據(jù)元素只能進(jìn)行訪問(wèn),不能進(jìn)行插入和刪除操作。2.7.2知識(shí)點(diǎn):線性表的順序存儲(chǔ)結(jié)構(gòu)一、選擇題1①在一個(gè)長(zhǎng)度為n的順序表中,在第i個(gè)元素(1<=i<=n+1)之前插入一個(gè)新元素時(shí)需向后移動(dòng)(B)個(gè)元素. A.n-1?B.n-i+1?C.n-i-1 D.i2①若某線性表中最常用的操作是取第i個(gè)元素和找第i個(gè)元素的前趨元素,則采用(D)存儲(chǔ)方式最節(jié)省時(shí)間。A.單鏈表B.雙鏈表C.單向循環(huán)D.順序表3②一個(gè)數(shù)組第一個(gè)元素的存儲(chǔ)地址是100,每個(gè)元素的長(zhǎng)度為2,則第5個(gè)元素的地址是(B)A.110B.108C.100D.1204①下述哪一條是順序存儲(chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)(A)?!颈狈浇煌ǎ?23】A.存儲(chǔ)密度大B.插入運(yùn)算方便C.刪除運(yùn)算方便D.可方便地用于各種邏輯結(jié)構(gòu)的存儲(chǔ)表達(dá)5③若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為(C) ?(1<=i<=n+1)。【北京航空航天1999】A.O(0)B.O(1)C.O(n)D.O(n2)6③對(duì)于順序存儲(chǔ)的線性表,訪問(wèn)結(jié)點(diǎn)和增長(zhǎng)、刪除結(jié)點(diǎn)的時(shí)間復(fù)雜度為(C)?!厩鄭u2023】A.O(n)O(n)B.O(n)O(1)C.O(1)O(n)D.O(1)O(1)填空題1①線性表的順序存儲(chǔ)的缺陷是在任意位置上___(dá)插入__(dá)___(dá)數(shù)據(jù)與____(dá)刪除_____數(shù)據(jù)費(fèi)時(shí)間。2①設(shè)一線性表的順序存儲(chǔ),總存儲(chǔ)容量為M,其元素存儲(chǔ)位置的范圍為_(kāi)_0~M-1___(dá)_______。3①向一個(gè)長(zhǎng)度為n的向量中刪除第i個(gè)元素(1≤i≤n)時(shí),需向前移動(dòng)__(dá)__n-i__(dá)____個(gè)元素。簡(jiǎn)答題1③已知線性表的存儲(chǔ)結(jié)構(gòu)為順序表,閱讀下列算法,并回答問(wèn)題:voidf30(SeqList*L){inti,j;for(i=j=0;i<L->length;i++)if(L->data[i]>=0){if(i!=j)L->data[j]=L->data[i];j++;}L->length=j;}設(shè)線性表L=(21,-7,-8,19,0,-11,34,30,-10),寫(xiě)出執(zhí)行f30(&L)后L狀態(tài);(21,19,0,34,30)簡(jiǎn)述算法f30的功能。刪除順序表中小于0的元素四、編程題1④已知順序表La中數(shù)據(jù)元素按非遞減有序排列。試寫(xiě)一個(gè)算法,將x插入到La的合適位置上,保持該表的有序性。2.7.3知識(shí)點(diǎn):線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)一、選擇題1①鏈表是一種采用(B)存儲(chǔ)結(jié)構(gòu)存儲(chǔ)的線性表。A.順序B.鏈?zhǔn)紺.星式D.網(wǎng)狀2①鏈接存儲(chǔ)的存儲(chǔ)結(jié)構(gòu)所占存儲(chǔ)空間(A)。A.分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放表達(dá)結(jié)點(diǎn)間關(guān)系的指針。B.只有一部分,存放結(jié)點(diǎn)值。C.只有一部分,存儲(chǔ)表達(dá)結(jié)點(diǎn)間關(guān)系的指針。D.分兩部分,一部分存放結(jié)點(diǎn)值,另一部分存放結(jié)點(diǎn)所占單元數(shù)。3①線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),規(guī)定內(nèi)存中可用存儲(chǔ)單元的地址(D)。A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)或不連續(xù)都可以4①線性表L在(B)情況下合用于使用鏈?zhǔn)浇Y(jié)構(gòu)實(shí)現(xiàn)。A.需經(jīng)常修改L中的結(jié)點(diǎn)值B.需不斷對(duì)L進(jìn)行刪除插入C.L中具有大量的結(jié)點(diǎn)D.L中結(jié)點(diǎn)結(jié)構(gòu)復(fù)雜5①對(duì)單鏈表表達(dá)法,以下說(shuō)法錯(cuò)誤的是(C)。A.?dāng)?shù)據(jù)域用于存儲(chǔ)線性表的一個(gè)數(shù)據(jù)元素。B.指針域(或鏈域)用于存放一個(gè)指向本結(jié)點(diǎn)所含數(shù)據(jù)元素的直接后繼所在結(jié)點(diǎn)的指針。C.所有數(shù)據(jù)通過(guò)指針的鏈接而組織成單鏈表。D.NULL稱(chēng)為空指針,它不指向任何結(jié)點(diǎn)只起標(biāo)志作用。6①以下說(shuō)法對(duì)的的是(D)。A.順序存儲(chǔ)方式的優(yōu)點(diǎn)是存儲(chǔ)密度大且插入、刪除運(yùn)算效率高B.鏈表的每個(gè)結(jié)點(diǎn)中都恰好包含一個(gè)指針C.線性表的順序存儲(chǔ)結(jié)構(gòu)優(yōu)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D.順序存儲(chǔ)結(jié)構(gòu)屬于靜態(tài)結(jié)構(gòu)而鏈?zhǔn)浇Y(jié)構(gòu)屬于動(dòng)態(tài)結(jié)構(gòu)7①以下說(shuō)法錯(cuò)誤的是(D)。A.求表長(zhǎng)、定位這兩種運(yùn)算在采用順序存儲(chǔ)結(jié)構(gòu)時(shí)實(shí)現(xiàn)的效率不比采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí)實(shí)現(xiàn)的效率低B.順序存儲(chǔ)的線性表可以隨機(jī)存?。?由于順序存儲(chǔ)規(guī)定連續(xù)的存儲(chǔ)區(qū)域,所以在存儲(chǔ)管理上不夠靈活D.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)優(yōu)于順序存儲(chǔ)結(jié)構(gòu)8①不帶頭結(jié)點(diǎn)的單鏈表head為空的鑒定條件是(A)。A.head==NULLB.head->next==NULLC.head->next==headD.head!=NULL9①帶頭結(jié)點(diǎn)的單鏈表head為空的鑒定條件是(B)。A.head==NULLB.head->next==NULLC.head->next==headD.head!=NULL10②在頭指針為head的非空單循環(huán)鏈表中,指針p指向尾結(jié)點(diǎn),下列關(guān)系成立的是(A)。A.p->next==headB.p->next->next==headC.p->next==NULLD.p==head11②在一個(gè)單鏈表中,已知q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn),若在q和p之間插入s結(jié)點(diǎn),則執(zhí)行語(yǔ)句(C)。A.s->next=p->next;p->next=s;B.p->next=s->next;s->next=p;C.q->next=s;s->next=p;D.p->next=s;s->next=q;12②在一個(gè)單鏈表中,若p所指結(jié)點(diǎn)不是最后結(jié)點(diǎn),在p之后插入s結(jié)點(diǎn),則應(yīng)執(zhí)行語(yǔ)句(B)。A.s->next=p:p->next=s;B.s->next=p->next;p->next=s;C.s->next=p->next;p=s;D.p->next=s;s->next=p;13②在一個(gè)單鏈表中,若刪除p所指結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則應(yīng)執(zhí)行語(yǔ)句(A)。A.p->next=p->next->next;B.p=p->next;p->next=p->next->next;C.p->next=p->next;D.p=p->next->next;14②指針p、q和r依次指向某循環(huán)鏈表中三個(gè)相鄰的結(jié)點(diǎn),互換結(jié)點(diǎn)*q和結(jié)點(diǎn)*r在表中順序的程序段是(A)。A.p->next=r;q->next=r->next;r->next=q;B.p->next=r;r->next=q;q->next=r->next;C.r->next=q;q->next=r->next;p->next=r;D.r->next=q;p->next=r;q->next=r->next;15①鏈表不具有的特點(diǎn)是(B)【福州1998】A.插入、刪除不需要移動(dòng)元素B.可隨機(jī)訪問(wèn)任一元素C.不必事先估計(jì)存儲(chǔ)空間? D.所需空間與線性長(zhǎng)度成正比16①下面的敘述不對(duì)的的是(BC)【南京理工1996】A.線性表在鏈?zhǔn)酱鎯?chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值成正比B.線性表在鏈?zhǔn)酱鎯?chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值無(wú)關(guān)C.線性表在順序存儲(chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值成正比D.線性表在順序存儲(chǔ)時(shí),查找第i個(gè)元素的時(shí)間同i的值無(wú)關(guān)17①下面關(guān)于線性表的敘述中,錯(cuò)誤的是哪一個(gè)?(B)【北方交通2023】A.線性表采用順序存儲(chǔ),必須占用一片連續(xù)的存儲(chǔ)單元。B.線性表采用順序存儲(chǔ),便于進(jìn)行插入和刪除操作。C.線性表采用鏈接存儲(chǔ),不必占用一片連續(xù)的存儲(chǔ)單元。D.線性表采用鏈接存儲(chǔ),便于插入和刪除操作。18①在一個(gè)以h為頭的單循環(huán)鏈中,p指針指向鏈尾的條件是(A)【南京理工1998】A.p->next=hB.p->next=NULLC.p->next->next=hD.p->data=-119②若某線性表最常用的操作是存取任一指定序號(hào)的元素和在最后進(jìn)行插入和刪除運(yùn)算,則運(yùn)用(A)存儲(chǔ)方式最節(jié)省時(shí)間?!竟枮I工業(yè)2023】A.順序表B.雙鏈表C.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表D.單循環(huán)鏈表20②某線性表中最常用的操作是在最后一個(gè)元素之后插入一個(gè)元素和刪除第一個(gè)元素,則采用(D)存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間?!灸祥_(kāi)2023】A.單鏈表B.僅有頭指針的單循環(huán)鏈表C.雙鏈表D.僅有尾指針的單循環(huán)鏈表21②設(shè)一個(gè)鏈表最常用的操作是在末尾插入結(jié)點(diǎn)和刪除尾結(jié)點(diǎn),則選用(D)最節(jié)省時(shí)間?!竞戏使I(yè)2023】A.單鏈表B.單循環(huán)鏈表C.帶尾指針的單循環(huán)鏈表D.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表22②線性表(a1,a2,…,an)以鏈接方式存儲(chǔ)時(shí),訪問(wèn)第i位置元素的時(shí)間復(fù)雜性為(C)【中山1999】A.O(i)B.O(1)C.O(n)D.O(i-1)23③完畢在雙循環(huán)鏈表結(jié)點(diǎn)p之后插入s的操作是(D)?!颈狈浇煌ǎ保?9】A.p->next:=s;s->priou:=p;p->next->priou:=s;s->next:=p->next;B.p->next->priou:=s;p->next:=s;s->priou:=p;s->next:=p->next;C.s->priou:=p;s->next:=p->next;p->next:=s;p->next->priou:=s;D.s->priou:=p;s->next:=p->next;p->next->priou:=s;p->next:=s;24③在雙向循環(huán)鏈表中,在p指針?biāo)赶虻慕Y(jié)點(diǎn)前插入一個(gè)指針q所指向的新結(jié)點(diǎn),其修改指針的操作是(C)?!颈本┼]電1998】【青島2023】注:雙向鏈表的結(jié)點(diǎn)結(jié)構(gòu)為(llink,data,rlink)。供選擇的答案:A.p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=q;B.p->llink=q;p->llink->rlink=q;q->rlink=p;q->llink=p->llink;C.q->rlink=p;q->llink=p->llink;p->llink->rlink=q;p->llink=q;D.q->llink=p->llink;q->rlink:=p;p->llink=q;p->llink=q;25③在雙向鏈表存儲(chǔ)結(jié)構(gòu)中,刪除p所指的結(jié)點(diǎn)時(shí)需修改指針(A)?!疚靼搽娮涌萍迹保?8】A.p->prior->next=p->nextp->next->prior=p->prior;B.p->prior=p->prior->priorp->prior->next=p;C.p->prior->prior:=pp->next=p->next->nextD.p->next=(p->prior)->priorp->prior=p->next->next二、填空題1①線性表的鏈?zhǔn)酱鎯?chǔ)是用___malloc_____(dá)_語(yǔ)句實(shí)現(xiàn)空間單元?jiǎng)討B(tài)分派。2①單鏈表是___線性表___(dá)__的鏈接存儲(chǔ)表達(dá)。3①頭結(jié)點(diǎn)地址指針為L(zhǎng)的循環(huán)單鏈表,空表的判別標(biāo)志是___L->next==NULL___(dá)。4①在一個(gè)單鏈表中刪除p所指結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行以下操作:q=p->next;p->data=p->next->data;p->next=q->next__(dá)__(dá)__(dá)___(dá);free(q);5③下段程序的功能:有一頭指針為head的鏈表,將new指針指向的節(jié)點(diǎn)插入到data域?yàn)?的節(jié)點(diǎn)的后邊。將程序補(bǔ)充完整。P=head;while(P!=NULL){if(P->data==7)/*找到位置插入結(jié)點(diǎn)后跳出循環(huán)*/{(1)_new->next=p->next____(dá)_______(dá)____;(2)_p->next=new______(dá)_____(dá)____;(3)____(dá)__break__(dá)___(dá)___(dá)__(dá);}else(4)___p=p->next______(dá)__(dá)_____(dá)_;/*指針后移*/}if(P==NULL)printf(“\nthepositionisn’texist!”);6③假設(shè)某個(gè)不設(shè)頭指針的無(wú)頭結(jié)點(diǎn)單向循環(huán)鏈表的長(zhǎng)度大于1,s為指向鏈表中某個(gè)結(jié)點(diǎn)的指針。算法f30的功能是,刪除并返回鏈表中指針s所指結(jié)點(diǎn)的前驅(qū)。請(qǐng)?jiān)诳杖碧幪钊牒线m的內(nèi)容,使其成為完整的算法。typedefstructnode{Dat(yī)aTypedata;structnode*next;}*LinkList;DataTypef30(LinkLists){LinkListpre,p;DataTypee;pre=s;p=s->next;while((1)__p->next!=s__(dá)__(dá)){pre=p;(2)p=p->next_____(dá)____(dá)__(dá)_;}pre->next=(3)__p->next___(dá)________(dá)_;e=p->dat(yī)a;free(p);returne;}判斷題(F)1①單鏈表從任何一個(gè)結(jié)點(diǎn)出發(fā),都能訪問(wèn)到所有結(jié)點(diǎn)。(F)2①線性表的每個(gè)結(jié)點(diǎn)只能是一個(gè)簡(jiǎn)樸類(lèi)型,而鏈表的每個(gè)結(jié)點(diǎn)可以是一個(gè)復(fù)雜類(lèi)型。簡(jiǎn)答題1①描述以下幾個(gè)概念:順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)、順序表、有序表。2②描述以下三個(gè)概念的區(qū)別:頭指針、頭結(jié)點(diǎn)、首元結(jié)點(diǎn)。在單鏈表中設(shè)立頭結(jié)點(diǎn)的作用是什么?3②線性表有兩種存儲(chǔ)結(jié)構(gòu):一是順序表,二是鏈表,試問(wèn):(1)假如有n個(gè)線性表同時(shí)共存,并且在解決過(guò)程中各表的長(zhǎng)度會(huì)動(dòng)態(tài)地發(fā)生變化,線性表的總數(shù)也會(huì)自動(dòng)地?改變。在此情況下,應(yīng)選用哪種存儲(chǔ)結(jié)構(gòu)?為什么?鏈表(2)若線性表的總數(shù)基本穩(wěn)定,且很少進(jìn)行插入和刪除,但規(guī)定以最快的速度存取線性表中的元素,那么應(yīng)采 用哪種存取結(jié)構(gòu)?為什么?順序表4③假設(shè)本測(cè)試中使用的鏈表如圖2.45所示,結(jié)點(diǎn)定義如下:structList{intdata;structList*next;};typedefstructListNode;typedefNode*Link;LinkP,Q,R,S,head;Linkpointer,back,new;對(duì)以下單鏈表分別執(zhí)行下列程序段,規(guī)定分別畫(huà)出結(jié)果圖。(1)Q=head->next->next;Q指向7(2)R->data=P->data;3變5(3)R->data=P->next->data;3變7S=P;while(S->next!=NULL){S->data=S->data*2;S=S->next;}4101468S=P;while(S!=NULL){S->data=S->data*2;S=S->next;}410146165③假設(shè)本測(cè)試中使用的鏈表如圖2.45所示,結(jié)點(diǎn)定義如第4題所示。畫(huà)出執(zhí)行如下程序段后各指針及鏈表的示意圖。head=(Link)malloc(sizeof(Node));head->data=0;head->next=NULL;P=head;for(i=1;i<4;i++){new=(Link)malloc(sizeof(Node));new->data=2*i;new->next=NULL;P->next=new;P=new;}創(chuàng)建了一個(gè)鏈表,數(shù)據(jù)元素為0,2,4,6,并且p和new都指向尾結(jié)點(diǎn)6③有一鏈表如下圖所示,閱讀程序給出程序的輸出結(jié)果。圖2.466題圖P=head;while(P!=NULL){printf(“\ndata=%d”,P->data);P=P->next;if(P!=NULL) ??P=P->next;}Data=1Data=3Data=5五、編程題1④一個(gè)單鏈表,其頭指針為head,編寫(xiě)一個(gè)函數(shù)計(jì)算數(shù)據(jù)域?yàn)閤的節(jié)點(diǎn)個(gè)數(shù)。2④已知單鏈表La中數(shù)據(jù)元素按非遞減有序排列。按兩種不同情況,分別寫(xiě)出算法,將元素x插入到La的合?適位置上,保持該表的有序性:(1)La帶頭結(jié)點(diǎn);(2)La不帶頭結(jié)點(diǎn)。3④試寫(xiě)一個(gè)算法,實(shí)現(xiàn)順序表的就地逆置,即在原表的存儲(chǔ)空間將線性表(a1,a2,…,an?1,an)逆置為(an,a?n?1,…,a2,a1)。4④設(shè)計(jì)一個(gè)算法,求A和B兩個(gè)單鏈表表達(dá)的集合的交集、并集合差集。3.7習(xí)題3.7.1知識(shí)點(diǎn):棧的基本概念一、選擇題1①下列哪種數(shù)據(jù)結(jié)構(gòu)常用于函數(shù)調(diào)用(A)。 A.棧B.隊(duì)列C.鏈表D.?dāng)?shù)組2①編譯器中通常以哪種數(shù)據(jù)結(jié)構(gòu)解決遞歸程序調(diào)用(C)?? A.隊(duì)列?B.?dāng)?shù)組 C.棧D.記錄3①下列哪些數(shù)據(jù)結(jié)構(gòu)可用來(lái)實(shí)現(xiàn)棧(D)。(1)鏈表(2)數(shù)組(3)樹(shù)(4)圖?A.(2),(3) B.(2),(4)C.(1),(4)?D.(1),(2)4②元素的入棧序列是a,b,c,d,則棧的不也許的輸出序列是(C)。A.dcbaB.a(chǎn)bcdC.dcabD.cbad5②已知棧的最大容量為4。若進(jìn)棧序列為1,2,3,4,5,6,且進(jìn)棧和出??梢源┎暹M(jìn)行,則也許出現(xiàn)的出棧序列為(C)。A.5,4,3,2,1,6B.2,3,5,6,1,4C.3,2,5,4,1,6D.1,4,6,5,2,36②若以S和X分別表達(dá)進(jìn)棧和退棧操作,則對(duì)初始狀態(tài)為空的??梢赃M(jìn)行的棧操作系列是(D)。A.SXSSXXXXB.SXXSX(jué)SSXC.SXSXXSSXD.SSSXXSXX7①對(duì)于棧操作數(shù)據(jù)的原則是(B)?!厩鄭u2023】A.先進(jìn)先出B.后進(jìn)先出C.后進(jìn)后出D.不分順序8①棧在(D)中應(yīng)用?!局猩?998】A.遞歸調(diào)用B.子程序調(diào)用C.表達(dá)式求值D.A,B,C9②一個(gè)棧的輸入序列為123…n,若輸出序列的第一個(gè)元素是n,輸出第i(1<=i<=n)個(gè)元素是(B)?!局猩?999】A.不擬定B.n-i+1C.iD.n-i10②若一個(gè)棧的輸入序列為1,2,3,…,n,輸出序列的第一個(gè)元素是i,則第j個(gè)輸出元素是(D)?!疚錆h2023】A.i-j-1B.i-jC.j-i+1D.不擬定的11②有六個(gè)元素6,5,4,3,2,1的順序進(jìn)棧,問(wèn)下列哪一個(gè)不是合法的出棧序列?(C)【北方交通2023】A.543612B.453162C.346521D.23415612②輸入序列為ABC,可以變?yōu)椋肂A時(shí),通過(guò)的棧操作為(B)【中山1999】A.push,pop,push,pop,push,popB.push,push,push,pop,pop,popC.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop13②設(shè)計(jì)一個(gè)判別表達(dá)式中左,右括號(hào)是否配對(duì)出現(xiàn)的算法,采用(D)數(shù)據(jù)結(jié)構(gòu)最佳?!疚靼搽娮涌萍?996】A.線性表的順序存儲(chǔ)結(jié)構(gòu)B.隊(duì)列C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D.棧二、填空題1①棧是一種特殊的線性表,允許插入和刪除運(yùn)算的一端稱(chēng)為棧頂,不允許插入和刪除運(yùn)算的一端稱(chēng)為棧底。2①對(duì)于順序存儲(chǔ)的棧,由于棧的空間是有限的,在進(jìn)行入棧運(yùn)算時(shí),也許發(fā)生棧的上溢,在進(jìn)行出棧 運(yùn)算時(shí),也許發(fā)生棧的下溢。3①表達(dá)式求值是棧應(yīng)用的一個(gè)典型例子。4①棧是__一種特殊____(dá)_的線性表,其運(yùn)算遵循___(dá)_先進(jìn)后出_______(dá)______的原則。【北京科技1997】5②設(shè)有一個(gè)空棧,棧頂指針為1000H(十六進(jìn)制),現(xiàn)有輸入序列為1,2,3,4,5,通過(guò)PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,輸出序列是2,3,____(dá)___,而棧頂指針值是?_1000C_____H。設(shè)棧為順序棧,每個(gè)元素占4個(gè)字節(jié)?!疚靼搽娮涌萍?998】6②用S表達(dá)入棧操作,X表達(dá)出棧操作,若元素入棧的順序?yàn)?234,為了得到1342出棧順序,相應(yīng)的S和 X的操作串為_(kāi)____(dá)____sxssxsxx___(dá)______(dá)_?!疚髂辖煌?023】三、判斷題(F)1①棧具有先進(jìn)先出的特性。(T)2①棧用于實(shí)現(xiàn)子程序調(diào)用。(F)3①棧和鏈表是兩種不同的數(shù)據(jù)結(jié)構(gòu)。(T)4①棧頂?shù)奈恢檬请S著操作而變化的。(T)5①棧和隊(duì)列邏輯上都是線性表。(T)6①棧是實(shí)現(xiàn)過(guò)程和函數(shù)等子程序所必需的結(jié)構(gòu)。【合肥工業(yè)2023】(F)7②即使對(duì)不含相同元素的同一輸入序列進(jìn)行兩組不同的合法的入棧和出棧組合操作,所得的輸出序列也 一定相同?!颈本┼]電1999】(T)8②若輸入序列為1,2,3,4,5,6,則通過(guò)一個(gè)??梢暂敵鲂蛄校?,2,5,6,4,1?!旧虾:_\(yùn)1995】(F)9②若輸入序列為1,2,3,4,5,6,則通過(guò)一個(gè)棧可以輸出序列1,5,4,6,2,3。【上海海運(yùn)1999】四、簡(jiǎn)答題1①什么是棧?試舉兩個(gè)應(yīng)用實(shí)例。2①簡(jiǎn)述棧和線性表的差別。3③計(jì)算表達(dá)式6*3/2-5*1,規(guī)定繪出堆棧的解決過(guò)程。5②有5個(gè)元素,其入棧順序?yàn)椋篈,B,C,D,E,在各種也許的出棧順序中,以元素C,D最先出棧(即C第一個(gè)且D第二個(gè)出棧)的順序有哪幾個(gè)?【西南交通2023】3.7.2知識(shí)點(diǎn):棧的存儲(chǔ)一、選擇題1①假如以鏈表作為棧的存儲(chǔ)結(jié)構(gòu),則入棧操作時(shí)(B)。A.必須判別棧是否滿(mǎn)B.對(duì)棧不作任何判別C.必須判別棧是否空D.判別棧元素的類(lèi)型2①上溢現(xiàn)象通常出現(xiàn)在(A)。A.順序棧的入棧操作過(guò)程中B.順序棧的出棧操作過(guò)程中C.鏈棧的入棧操作過(guò)程中D.鏈棧的出棧操作過(guò)程中3①鑒定一個(gè)棧ST(最多元素為m0)為空的條件是(B)A.ST->top?。?B.ST->top==0C.ST->top!=m0D.ST->top==m04①鏈表仿真堆棧時(shí),??盏臈l件是(B)。??A.top<maxsize-1B.top==NULLC.沒(méi)有限制D.top<05①鏈表仿真堆棧時(shí),棧滿(mǎn)的條件是(C)。 A.top<maxsize-1B.top==NULLC.沒(méi)有限制D.top<06②在用鏈表仿真堆棧時(shí)(假設(shè)stack為棧頂指針),將new指針指向的節(jié)點(diǎn)執(zhí)行入棧操作應(yīng)執(zhí)行(B)A.new->next=stack->next;stack=new;B.new->next=stack;stack=new;C.new->next=stack;stack=new->next;D.stack=new;stack->next=new->next;7②若一個(gè)棧以向量V[1..n]存儲(chǔ),初始棧頂指針top為n+1,則下面x進(jìn)棧的對(duì)的操作是(C)?!灸暇├砉?998】A.top=top+1;V[top]=xB.V[top]=x;top=top+1C.top=top-1;V[top]=xD.V[top]=x;top=top-18②執(zhí)行完下列語(yǔ)句段后,i值為:(B)。【浙江2023】intf(intx){return((x>0)?x*f(x-1):2);}inti;i=f(f(1));A.2B.4C.8D.無(wú)限遞歸填空題1②以下語(yǔ)句是堆棧的入棧操作,用全局?jǐn)?shù)組stack仿真堆棧,數(shù)組類(lèi)型是int,大小是MaxSize,棧頂指針是top,初始化等于-1。voidpush(intvalue){if(top>MaxSize-1)return–1;else{top++;stack[top]=value;}}指出有錯(cuò)誤的語(yǔ)句:__(dá)_3_____寫(xiě)出改正后的語(yǔ)句:__(dá)___(dá)top==MaxSize-1_____(dá)__(dá)2②以下語(yǔ)句是數(shù)據(jù)從堆棧中取出操作,top為棧頂指針,stack為堆棧數(shù)組。01intpop()02{inttemp;if(top==0)return–1;else{temp=stack[top];top――;}returntemp; 12}指出有錯(cuò)誤的語(yǔ)句:____(dá)______(dá)_____(dá)_____(dá)___(dá)寫(xiě)出改正后的語(yǔ)句:___(dá)__(dá)__8,9互換___(dá)_____(dá)__(dá)______(dá)編程題1④假設(shè)一個(gè)算術(shù)表達(dá)式中可以包含圓括號(hào)“(”和“)”,編寫(xiě)判別給定表達(dá)式中所含括號(hào)是否對(duì)的配對(duì)出現(xiàn)的算法。2④編寫(xiě)斐波那契(Fibonacci)數(shù)列的遞歸算法和迭代算法。F0=0, F1=1,?FFn=?n1+?Fnn2(>=2)3.7.3知識(shí)點(diǎn):隊(duì)列的基本概念及其應(yīng)用一、選擇題1①下列哪種數(shù)據(jù)結(jié)構(gòu)常用于系統(tǒng)程序的作業(yè)調(diào)度(B) A.棧 B.隊(duì)列C.鏈表D.數(shù)組2①在解決計(jì)算機(jī)主機(jī)與打印機(jī)之間速度不匹配問(wèn)題時(shí)通常設(shè)立一個(gè)打印數(shù)據(jù)緩沖區(qū),主機(jī)將要輸出的數(shù)據(jù)依次寫(xiě)入該緩沖區(qū),而打印機(jī)則從該緩沖區(qū)中取出數(shù)據(jù)打印.該緩沖區(qū)應(yīng)當(dāng)是一個(gè)(B)結(jié)構(gòu).A.堆棧B.隊(duì)列C.數(shù)組D.線性表3②設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1、e2、e3、e4、e5、e6依次通過(guò)棧S,一個(gè)元素出棧后即進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2、e4、e3、e6、e5、e1,則棧S的容量至少應(yīng)當(dāng)是(C)A.6B.4C.3D.24①棧和隊(duì)列的共同點(diǎn)是(C)。【燕山2023一、1(2分)】A.都是先進(jìn)先出 ? B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素? D.沒(méi)有共同點(diǎn)二、填空題1①棧和隊(duì)列都是線性結(jié)構(gòu),對(duì)于棧只能在____棧頂___(dá)___(dá)位置插入和刪除元素,對(duì)于隊(duì)列只能在_____(dá)_隊(duì)尾_______(dá)_位置插入元素和__(dá)__(dá)_隊(duì)頭____(dá)_____位置刪除元素。2②隊(duì)列的隊(duì)尾位置通常是隨著__(dá)___入隊(duì)______(dá)___(dá)操作而變化的。3①隊(duì)列的特點(diǎn)是__(dá)_____先進(jìn)先出_______(dá)___(dá)_____(dá)__。【北京理工2023】4②循環(huán)隊(duì)列的引入,目的是為了克服________假溢出____(dá)_______(dá)___(dá)__(dá)?!緩B門(mén)2023】三、判斷題(T)1①隊(duì)列中所有的插入操作都發(fā)生在表的一端,刪除則發(fā)生在表的另一端。(F)2①隊(duì)列為先進(jìn)后出的結(jié)構(gòu)。(F)3①隊(duì)列必須用數(shù)組來(lái)表達(dá)。(T)4①隊(duì)列用于操作系統(tǒng)中的作業(yè)調(diào)度。(T)5①棧和隊(duì)列邏輯上都是線性表。(T)6①棧和隊(duì)列是在程序中常用的兩種數(shù)據(jù)結(jié)構(gòu)。(T)7①棧與隊(duì)列是一種特殊操作的線性表?!厩鄭u2023】(T)8①棧和隊(duì)列都是限制存取點(diǎn)的線性結(jié)構(gòu)?!局锌圃很浖?999】(F)9①隊(duì)列是一種插入與刪除操作分別在表的兩端進(jìn)行的線性表,是一種先進(jìn)后出型結(jié)構(gòu)?!旧虾:_\(yùn)1998】(F)10①通常使用隊(duì)列來(lái)解決函數(shù)或過(guò)程的調(diào)用?!灸暇┖娇蘸教欤?97】(F)11①隊(duì)列邏輯上是一個(gè)下端和上端既能增長(zhǎng)又能減少的線性表。【上海交通1998】(T)12①棧和隊(duì)列都是線性表,只是在插入和刪除時(shí)受到了一些限制?!颈本┼]電2023】四、簡(jiǎn)答題1①什么是隊(duì)列?試舉兩個(gè)應(yīng)用實(shí)例。2①說(shuō)明線性表、棧和隊(duì)列的異同點(diǎn)。3①順序隊(duì)的“假溢出”是如何產(chǎn)生的?什么是循環(huán)隊(duì)列?如何知道循環(huán)隊(duì)列是空還是滿(mǎn)?五、編程題1④假設(shè)稱(chēng)正讀和反讀都相同的字符序列為“回文”,例如‘abba’和‘a(chǎn)bcba’是回文,‘abcde’和‘ababab’則不是回文。試寫(xiě)一個(gè)算法判別讀入的一個(gè)以‘@’為結(jié)束符的字符序列是否是“回文”。3.7.4知識(shí)點(diǎn):隊(duì)列的存儲(chǔ)一、選擇題1①循環(huán)隊(duì)列用數(shù)組A[maxsize]表達(dá),下面哪個(gè)選項(xiàng)表達(dá)該循環(huán)隊(duì)列隊(duì)滿(mǎn)(B)A.rear==maxsize-1B.front==(rear+1)%maxsizeC.rear-front==maxsizeD.rear-front==maxsize-12①在用數(shù)組queue[maxsize]仿真隊(duì)列時(shí)(temp為int型變量),假設(shè)隊(duì)列中至少有一個(gè)元素,出隊(duì)列操作應(yīng)執(zhí)行以下(D)A.temp=queue[rear];rear--;B.rear++;temp=queue[rear];C.temp=queue[front];front--;D.front++;temp=queue[front];3①數(shù)組Q[n]用來(lái)表達(dá)一個(gè)循環(huán)隊(duì)列,f為當(dāng)前隊(duì)列頭元素的前一位置,r?yàn)殛?duì)尾元素的位置,假定隊(duì)列中元素的個(gè)數(shù)小于n,計(jì)算隊(duì)列中元素的公式為(D)A.r-f;B.(n+f-r)%n;C.n+r-fD.(n+r-f)%n4②判斷一個(gè)隊(duì)列QU(最多元素為m0)為空的條件是(C)。?A.rear-front==m0?B.rear-front-1==m0 C.front==rear??D.front==rear+15②一個(gè)隊(duì)列(數(shù)組仿真,最多元素為MaxSize)下列哪個(gè)選項(xiàng)表達(dá)了隊(duì)列空間所有被運(yùn)用?(A)A.rear–front==MaxSizeB.rear–front==MaxSize–1C.rear==frontD.rear+1==front6②鑒定一個(gè)循環(huán)隊(duì)列(數(shù)組仿真,最多元素為MaxSize)為空的條件是?(A)A.front==rearB.front!=rearC.front==(rear+1)%MaxSizeD.front!=(rear+1)%MaxSize7①用單鏈表表達(dá)的鏈?zhǔn)疥?duì)列的隊(duì)頭在鏈表的(A)位置。【清華1998】A.鏈頭B.鏈尾C.鏈中D.任何8②用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)(D)。【北京理工2023】A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都也許要修改9②假設(shè)以數(shù)組A[m]存放循環(huán)隊(duì)列的元素,其頭尾指針?lè)謩e為front和rear,則當(dāng)前隊(duì)列中的元素個(gè)數(shù)為(A)?!颈本┕ど?023】A.(rear-front+m)%mB.rear-front+1C.(front-rear+m)%mD.(rear-front)%m10②循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為(D)?!局猩?999】A.rear=rear+1B.rear=(rear+1)mod(m-1)C.rear=(rear+1)modmD.rear=(rear+1)mod(m+1)11②若用一個(gè)大小為6的數(shù)組來(lái)實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為多少?(B)【浙江1999】A.1和5B.2和4C.4和2D.5和112②用鏈接方式存儲(chǔ)的隊(duì)列,在進(jìn)行插入運(yùn)算時(shí)(B)?!颈狈浇煌?023】A.僅修改頭指針B.僅修改尾指針C.頭、尾指針都要修改D.頭、尾指針也許都要修改二、填空題1①棧、隊(duì)列的建立可使用兩種結(jié)構(gòu):__(dá)____順序_____(dá)___(dá)結(jié)構(gòu)和____鏈?zhǔn)絖___(dá)__結(jié)構(gòu)。2②假設(shè)為循環(huán)隊(duì)列分派的向量空間為Q[20],若隊(duì)列的長(zhǎng)度和隊(duì)頭指針值分別為13和17,則當(dāng)前尾指針的值為_(kāi)_10________(dá)____。3③以下語(yǔ)句是環(huán)狀隊(duì)列的出隊(duì)操作,用數(shù)組queue仿真環(huán)狀隊(duì)列,數(shù)組類(lèi)型是int,大小是MaxSize,隊(duì)尾指針是rear,隊(duì)頭指針是front。intdelqueue(){inttemp;if(front==rear)return–1;else{front++;temp=queue[front];queue[front]=0;returntemp;}}指出有錯(cuò)誤的語(yǔ)句:___(dá)_______8______(dá)___(dá)______寫(xiě)出改正后的語(yǔ)句:_______(dá)_front=(front+1)%MaxSize______(dá)_________(dá)4②區(qū)分循環(huán)隊(duì)列的滿(mǎn)與空,只有兩種方法,它們是____設(shè)標(biāo)志__(dá)__和______少用一片空間______(dá)_。【北京郵電2023】5②設(shè)循環(huán)隊(duì)列存放在向量sq.data[0..M]中,則隊(duì)頭指針sq.front在循環(huán)意義下的出隊(duì)操作可表達(dá)為_(kāi)_sq.front=(sq.front+1)%(M+1)___(dá)__,若用犧牲一個(gè)單元的辦法來(lái)區(qū)分隊(duì)滿(mǎn)和隊(duì)空(設(shè)隊(duì)尾指針sq.rear),則隊(duì)滿(mǎn)的條件為_(kāi)sq.front==(sq.rear+1)%(M+1)___?!鹃L(zhǎng)沙鐵道1997】三、判斷題(T)1①棧和隊(duì)列的存儲(chǔ)方式既可是順序方式,也可是鏈接方式。(T)2①單鏈表形式的隊(duì)列,頭指針F指向隊(duì)列的第一個(gè)結(jié)點(diǎn),尾指針R指向隊(duì)列的最后一個(gè)結(jié)點(diǎn)。(F)3①循環(huán)隊(duì)列通常用指針來(lái)實(shí)現(xiàn)隊(duì)列的頭尾相接?!灸暇┖娇蘸教?996】(T)4①循環(huán)隊(duì)列也存在空間溢出問(wèn)題?!厩鄭u2023】四、簡(jiǎn)答題1②設(shè)循環(huán)隊(duì)列的容量為40(序號(hào)從0到39),現(xiàn)通過(guò)一系列的入隊(duì)和出隊(duì)運(yùn)算后,有(1)front=11,rear=19;(2)front=19,rear=11;問(wèn)在這兩種情況下,循環(huán)隊(duì)列中各有元素多少個(gè)?8,322②假設(shè)CQ[0,…,10]是一個(gè)環(huán)狀隊(duì)列,初始狀態(tài)front=rear=1,畫(huà)出做完下列操作后隊(duì)列的頭尾指針的狀態(tài)變化情況,若不能入隊(duì),請(qǐng)指出其元素,并說(shuō)明理由。(1)d,e,b,g,h入隊(duì);(2)d,e出隊(duì);(3)I,j,k,l,m入隊(duì);(4)b出隊(duì);(5)n,o,p,q,r入隊(duì)。3③閱讀下列算法,并回答問(wèn)題(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分別是隊(duì)列初始化、入列、出隊(duì)和判隊(duì)空的操作)。voidf31(Queue*Q,Queue*Q1,Queue*Q2){inte;lnitQueue(Q1);lnitQueue(Q2);while(!QueueEmpty(Q)){e=DeQueue(Q);if(e>=0)EnQueue(Q1,e);elseEnQueue(Q2,e)}}(1)Q、Q1和Q2都是隊(duì)列結(jié)構(gòu),設(shè)隊(duì)列Q=(1,0,-5,2,-4,-6,9),其中1為隊(duì)頭元素,寫(xiě)出執(zhí)行f31(&Q,&Q1,&Q2)之后隊(duì)列Q、Q1和Q2的狀態(tài);Q為空Q1=(1,0,2,9)Q2=(-5,-4,-6)(2)簡(jiǎn)述算法f31的功能。4③閱讀如下程序,并回答下列問(wèn)題(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分別是隊(duì)列初始化、入列、出隊(duì)和判隊(duì)空的操作)。voidf31(Queue*Q){DataTypee;if(!QueueEmpty(Q)){e=DeQueue(Q);f31(Q);EnQueue(Q,e);}}設(shè)隊(duì)列Q=(1,3,5,2,4,6)。寫(xiě)出執(zhí)行算法f31后的隊(duì)列Q;Q=(6,4,3,5,3,1)簡(jiǎn)述算法f31的功能。將隊(duì)列反轉(zhuǎn)5③閱讀如下程序,它的功能是清空帶頭結(jié)點(diǎn)的鏈隊(duì)列Q。請(qǐng)?jiān)诳杖碧幪钊牒线m的內(nèi)容,使成為一個(gè)完整的算法。typedefstructnode{DataTypedata;structnode*next;}QueueNode;typedefstruct{QueueNode*front;//隊(duì)頭指針QueueNode*rear;//隊(duì)尾指針}LinkQueue;voidf31(LinkQueue*Q){QueueNode*p,*s;p=(1);while(p?。絅ULL){s=p;p=p->next;free(s);(2)=NULL;Q->rear=(3);}____(dá)__p=Q->front->next__(dá)_____(dá)__(dá)___(dá)___(dá)______(dá)_____Q->front->next=NULL______(dá)________________Q->rear=Q->front______(dá)__(dá)________(dá)___(dá)五、編程題1④假設(shè)將循環(huán)隊(duì)列定義為:以變量rear和length分別指示循環(huán)隊(duì)列中隊(duì)尾元素的位置和內(nèi)含元素的個(gè)數(shù)。試給 出此循環(huán)隊(duì)列的隊(duì)滿(mǎn)條件,并寫(xiě)出相應(yīng)的入隊(duì)列和出隊(duì)列的算法。2④假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表達(dá)隊(duì)列,并且只設(shè)一個(gè)指針指向隊(duì)尾元素結(jié)點(diǎn)(注意不設(shè)頭指針),試編寫(xiě)相應(yīng) 的隊(duì)列初始化、入隊(duì)列和出隊(duì)列的算法。4.9習(xí)題4.9.1知識(shí)點(diǎn):樹(shù)和二叉樹(shù)的基本概念一、選擇題1②在一棵具有n個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,分支結(jié)點(diǎn)的最大編號(hào)為(D)。假定樹(shù)根結(jié)點(diǎn)的編號(hào)為0。 A.(n-1)/2 B.n/2? ?C.n/2+1 D.n/2-12②在一棵完全二叉樹(shù)中,若編號(hào)為i的結(jié)點(diǎn)存在左孩子,則左子女結(jié)點(diǎn)的編號(hào)為(C)。假定根結(jié)點(diǎn)的編號(hào)為0。A.2i ?B.2i-1 ? ?C.2i+1? ????D.2i+23②在一棵具有35個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,該樹(shù)的高度為(A)。假定空樹(shù)的高度為-1。A.5? ? B.6 ?? C.7???? ?D.84②樹(shù)中所有結(jié)點(diǎn)的度等于所有結(jié)點(diǎn)數(shù)加(C)。A.0 B.1 ?? C.-1? ? D.25②在一棵具有n個(gè)結(jié)點(diǎn)的二叉樹(shù)的第i層上(假定根結(jié)點(diǎn)為第0層,i大于等于0而小于等于樹(shù)的高度),最多具有(A)個(gè)結(jié)點(diǎn)。?A.2i ? ? ? B.2i+1 C.2i?1?? ?? ? D.2n6②在一棵完全二叉樹(shù)中,假定根結(jié)點(diǎn)的編號(hào)為0,則對(duì)于編號(hào)為I(I>0)的結(jié)點(diǎn),其雙親結(jié)點(diǎn)的編號(hào)為(B)。?A.(I+1)/2??? ??B.(I-1)/2?C.I/2?? ? ?? D.I/2-17③在一棵具有n個(gè)結(jié)點(diǎn)的二叉樹(shù)中,所有結(jié)點(diǎn)的空子樹(shù)個(gè)數(shù)等于(C)。A.nB.n-1C.n+1D.2*n8③在一棵高度為h(假定根結(jié)點(diǎn)的層號(hào)為0)的完全二叉樹(shù)中,所含結(jié)點(diǎn)個(gè)數(shù)不小于(D)。?A.2h?1??? ?? B.2h+1 C.21h?? ? D.2h9②如下的4棵二叉樹(shù)中,(D)不是完全二叉樹(shù)。 A ? ? B ? C? ? D圖4.4710題圖10②深度為5的二叉樹(shù)至多有(C)個(gè)節(jié)點(diǎn)。?A.16 ? B.32?C.31 ???? ??D.1011③對(duì)一棵滿(mǎn)二叉樹(shù)而言,m個(gè)樹(shù)葉,n個(gè)節(jié)點(diǎn),深度為h,則下列哪個(gè)等式對(duì)的(D)。A.n=h+m ? ?? B.h+m=2n?C.m=n-1 ???D.n=2h-112②有一棵非空的二叉樹(shù),共有n個(gè)節(jié)點(diǎn),其中分支度為2的結(jié)點(diǎn)有w個(gè),則分支度為1的結(jié)點(diǎn)個(gè)數(shù)為(B)。 A.n-2w ? ????B.n-2w-1?C.n-w+1 ??? D.n-2w+113②具有n(n>0)個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的深度為(C)。A.log2n? ???? B.log2n C.log2n+1 ???D.(log2n)+114②設(shè)樹(shù)T的度為4,其中度為1,2,3和4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1則T中的葉子數(shù)為(D)【南京理工2023】A.5B.6C.7D.815②在下述結(jié)論中,對(duì)的的是(D)?!灸暇├砉?999】(1)只有一個(gè)結(jié)點(diǎn)的二叉樹(shù)的度為0;(2)二叉樹(shù)的度為2;(3)二叉樹(shù)的左右子樹(shù)可任意互換;(4)深度為K的完全二叉樹(shù)的結(jié)點(diǎn)個(gè)數(shù)小于或等于深度相同的滿(mǎn)二叉樹(shù)。A.(1)(2)(3)B.(2)(3)(4)C.(2)(4)D.(1)(4)16②若一棵二叉樹(shù)具有10個(gè)度為2的結(jié)點(diǎn),5個(gè)度為1的結(jié)點(diǎn),則度為0的結(jié)點(diǎn)個(gè)數(shù)是(B)【北京工商2023】A.9B.11C.15D.不擬定17②一棵完全二叉樹(shù)上有1001個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)的個(gè)數(shù)是(E)?!疚靼步煌?996】A.250B.500C.254D.505E.以上答案都不對(duì)二、填空題1②由3個(gè)結(jié)點(diǎn)所構(gòu)成的二叉樹(shù)有__(dá)_5___(dá)種形態(tài);16個(gè)結(jié)點(diǎn)可構(gòu)造出________種不同形態(tài)的二叉樹(shù)。2②將具有82個(gè)結(jié)點(diǎn)的完全二叉樹(shù)從根結(jié)點(diǎn)開(kāi)始順序編號(hào),根結(jié)點(diǎn)為第0號(hào),其他結(jié)點(diǎn)自上向下,同一層自 左向右連續(xù)編號(hào)。則第40號(hào)結(jié)點(diǎn)的雙親結(jié)點(diǎn)的編號(hào)為_(kāi)__14_____。3①在一棵樹(shù)中,_根_____結(jié)點(diǎn)沒(méi)有前驅(qū)結(jié)點(diǎn)。4②假定一棵二叉樹(shù)的結(jié)點(diǎn)個(gè)數(shù)為18,則它的最小高度為__(dá)4____。假定根結(jié)點(diǎn)的高度為0。5②假定一棵三叉樹(shù)(即度為3的樹(shù))的結(jié)點(diǎn)個(gè)數(shù)為50,則它的最小高度為__(dá)4_。假定根結(jié)點(diǎn)的高度為0。6②一棵高度為5的完全二叉樹(shù)中,最多包具有__63____個(gè)結(jié)點(diǎn)。假定根結(jié)點(diǎn)的高度為0。7②在一棵三叉樹(shù)中,度為3的結(jié)點(diǎn)數(shù)有2個(gè),度為2的結(jié)點(diǎn)數(shù)有1個(gè),度為1的結(jié)點(diǎn)數(shù)為2個(gè),那么度為0的結(jié)點(diǎn)數(shù)有___6__(dá)_個(gè)。8②在一棵高度為3的四叉樹(shù)中,最多具有__(dá)21____結(jié)點(diǎn)。9②一棵深度為6的滿(mǎn)二叉樹(shù)有____31__個(gè)分支結(jié)點(diǎn)和__(dá)32__(dá)__個(gè)葉子。10②一棵具有257個(gè)結(jié)點(diǎn)的完全二叉樹(shù),它的深度為_(kāi)__9___。11②設(shè)一棵完全二叉樹(shù)具有1000個(gè)結(jié)點(diǎn),則此完全二叉樹(shù)有__500____個(gè)葉子結(jié)點(diǎn),有___(dá)4999___個(gè)度為? 2的結(jié)點(diǎn),有__1___(dá)_個(gè)結(jié)點(diǎn)只有非空左子樹(shù),有__(dá)_0___個(gè)結(jié)點(diǎn)只有非空右子樹(shù)。12②對(duì)于一棵具有n個(gè)結(jié)點(diǎn)的樹(shù),該樹(shù)中所有結(jié)點(diǎn)的度數(shù)之和為_(kāi)_n-1_______。13②一棵具有n個(gè)結(jié)點(diǎn)的二叉樹(shù),若它有n0個(gè)葉子結(jié)點(diǎn),則該二叉樹(shù)上度為1的結(jié)點(diǎn)n1=_n-2n0+1___(dá)__(dá)。14②假如結(jié)點(diǎn)A有3兄弟,并且B是A的雙親,則B的度是___4__(dá)_。15②對(duì)于一棵完全二叉樹(shù),設(shè)一個(gè)結(jié)點(diǎn)的編號(hào)為i,若它的左孩子結(jié)點(diǎn)存在,則其編號(hào)為_(kāi)_2*i______;若右 ? 孩子結(jié)點(diǎn)存在,則其編號(hào)為_(kāi)2*i+1__(dá)_____;而雙親結(jié)點(diǎn)的編號(hào)為__(dá)__i/2___(dá)__。16②深度為k的完全二叉樹(shù)至少有2k-1個(gè)結(jié)點(diǎn),至多有2k-1個(gè)結(jié)點(diǎn)?!緩B門(mén)2023】【南京理工1999】17②已知一棵度為3的樹(shù)有2個(gè)度為1的結(jié)點(diǎn),3個(gè)度為2的結(jié)點(diǎn),4個(gè)度為3的結(jié)點(diǎn),則該樹(shù)有____12__(dá)___(dá)個(gè)葉子結(jié)點(diǎn)?!緩B門(mén)2023】18②一棵有n個(gè)結(jié)點(diǎn)的滿(mǎn)二叉樹(shù)有___0______(dá)個(gè)度為1的結(jié)點(diǎn)、有__(n+1)/2__(dá)_____個(gè)分支(非終端)結(jié)點(diǎn)和__(n-1)/2____(dá)___(dá)個(gè)葉子,該滿(mǎn)二叉樹(shù)的深度為_(kāi)__log2n+1?___(dá)___。【華中理工2023】三、判斷題(T)1①二叉樹(shù)中每個(gè)結(jié)點(diǎn)的兩棵子樹(shù)是有序的。(F)2①二叉樹(shù)中每個(gè)結(jié)點(diǎn)有兩棵非空子樹(shù)或有兩棵空子樹(shù)。(F)3②對(duì)于一棵非空二叉樹(shù),它的根結(jié)點(diǎn)作為第一層,則它的第i層上最多能有2i-1個(gè)結(jié)點(diǎn)。(T)4②具有12個(gè)結(jié)點(diǎn)的完全二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)。(T)5①完全二叉樹(shù)的某結(jié)點(diǎn)若無(wú)左孩子,則它必是葉結(jié)點(diǎn)。(F)6②二叉樹(shù)中不存在度大于2的結(jié)點(diǎn),當(dāng)某個(gè)結(jié)點(diǎn)只有一棵子樹(shù)時(shí)無(wú)所謂左、右子樹(shù)之分。(T)7②當(dāng)k≥1時(shí),高度為k的二叉樹(shù)至多有21k?個(gè)結(jié)點(diǎn)。(F)8②一棵具有n個(gè)結(jié)點(diǎn)的完全二叉樹(shù),它的高度是log2n+1。(F)9①二叉樹(shù)就是結(jié)點(diǎn)度為2的樹(shù)。【長(zhǎng)沙鐵道1997】【中科院軟件所1997】(F)10②完全二叉樹(shù)一定存在度為1的結(jié)點(diǎn)?!厩鄭u2023】(T)11①樹(shù)形結(jié)構(gòu)中元素之間存在一個(gè)對(duì)多個(gè)的關(guān)系。【燕山1998】(F)12①樹(shù)與二叉樹(shù)是兩種不同的樹(shù)型結(jié)構(gòu)?!緰|南2023】四、簡(jiǎn)答題1③已知一棵度為m的樹(shù)中有N1個(gè)度為1的結(jié)點(diǎn),N2個(gè)度為2的結(jié)點(diǎn),…,Nm個(gè)度為m的結(jié)點(diǎn)。試問(wèn)該樹(shù)中有多少個(gè)葉子結(jié)點(diǎn)?2③樹(shù)和二叉樹(shù)之間有什么樣的區(qū)別與聯(lián)系?【西北工業(yè)1998】【廈門(mén)2023】【燕山2023】4.9.2知識(shí)點(diǎn):二叉樹(shù)和樹(shù)的存儲(chǔ)結(jié)構(gòu)一、選擇題1①在一棵樹(shù)的左子女-右兄弟表達(dá)法中,一個(gè)結(jié)點(diǎn)的右孩子是該結(jié)點(diǎn)的(A)結(jié)點(diǎn)。?A.兄弟??B.子女C.祖先 D.子孫2②在一棵樹(shù)的靜態(tài)雙親表達(dá)中,每個(gè)存儲(chǔ)結(jié)點(diǎn)包含(B)個(gè)域。 A.1? B.2C.3 D.43②在一棵二叉樹(shù)的二叉鏈表中,空指針域數(shù)等于非空指針域數(shù)加(A)。 A.2 B.1C.0 ?D.-14②二叉樹(shù)是非線性數(shù)據(jù)結(jié)構(gòu),所以(C)。 A.它不能用順序存儲(chǔ)結(jié)構(gòu)存儲(chǔ) B.它不能用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ)C.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)都能存儲(chǔ)D.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)都不能使用5②運(yùn)用二叉鏈表存儲(chǔ)樹(shù),則根結(jié)點(diǎn)的右指針是(B)。【青島2023】A.指向最左孩子B.指向最右孩子C.空D.非空6②在下列存儲(chǔ)形式中,哪一個(gè)不是樹(shù)的存儲(chǔ)形式?(D)【北方交通2023】A.雙親表達(dá)法B.孩子鏈表表達(dá)法C.孩子兄弟表達(dá)法D.順序存儲(chǔ)表達(dá)法7②一棵有n個(gè)結(jié)點(diǎn)的二叉樹(shù),按層次從上到下,同一層從左到右順序存儲(chǔ)在一維數(shù)組A[1..n]中,則二叉樹(shù)中第i個(gè)結(jié)點(diǎn)(i從1開(kāi)始用上述方法編號(hào))的右孩子在數(shù)組A中的位置是(B)【南京理工2023】A.A[2i](2i<=n)B.A[2i+1](2i+1<=n)C.A[i-2]D.條件不充足,無(wú)法擬定填空題1①二叉樹(shù)通常有___順序____(dá)__存儲(chǔ)結(jié)構(gòu)和____(dá)_鏈?zhǔn)絖______存儲(chǔ)結(jié)構(gòu)。判斷題(T)1②若二叉樹(shù)用二叉鏈表作存貯結(jié)構(gòu),則在n個(gè)結(jié)點(diǎn)的二叉樹(shù)鏈表中只有n-1個(gè)非空指針域。(T)2①樹(shù)適合于表達(dá)層次關(guān)系。(T)3②完全二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)通常采用順序存儲(chǔ)結(jié)構(gòu)?!灸暇┖娇蘸教欤?96】四、簡(jiǎn)答題1②描述二叉樹(shù)的順序存儲(chǔ)。2②描述二叉樹(shù)的鏈?zhǔn)酱鎯?chǔ)。4.9.3知識(shí)點(diǎn):樹(shù)、森林向二叉樹(shù)的轉(zhuǎn)換選擇題1②把一棵樹(shù)轉(zhuǎn)換為二叉樹(shù)后,這棵二叉樹(shù)的形態(tài)是(A)。 A.唯一的?????? ?B.有多種 C.有多種,但根結(jié)點(diǎn)都沒(méi)有左孩子??D.有多種,但根結(jié)點(diǎn)都沒(méi)有右孩子2②如下圖所示的二叉樹(shù)T2是由森林T1轉(zhuǎn)換而來(lái)的二叉樹(shù),那么森林T1有(C)個(gè)葉子結(jié)點(diǎn)。AABEDJIGHCF圖4.482題圖 A.4 ?B.5C.6? D.7填空題1②設(shè)森林F中有4棵樹(shù),第1、2、3、4棵樹(shù)的結(jié)點(diǎn)個(gè)數(shù)分別為n1、n2、n3、n4,當(dāng)把森林F轉(zhuǎn)換成一棵二叉樹(shù)后,其根結(jié)點(diǎn)的左子樹(shù)中有___(dá)_n1-1___(dá)___(dá)____(dá)__(dá)個(gè)結(jié)點(diǎn)。2②將森林或樹(shù)轉(zhuǎn)換成二叉樹(shù)時(shí),所有的水平線段以左邊結(jié)點(diǎn)為軸心_順時(shí)針__(dá)旋轉(zhuǎn)45o。3②運(yùn)用樹(shù)的孩子兄弟表達(dá)法存儲(chǔ),可以將一棵樹(shù)轉(zhuǎn)換為_二叉樹(shù)___(dá)__(dá)___?!局貞c2023】三、判斷題(T)1②將森林或樹(shù)轉(zhuǎn)換成二叉樹(shù)時(shí),在所有相鄰兄弟結(jié)點(diǎn)(森林中每棵樹(shù)的根結(jié)點(diǎn)可以當(dāng)作是兄弟結(jié)點(diǎn))之間加一水平連線。(T)2②將森林或樹(shù)轉(zhuǎn)換成二叉樹(shù)時(shí),對(duì)每個(gè)非葉子結(jié)點(diǎn)k,除了其最左邊的孩子結(jié)點(diǎn)外,刪去k與其他孩子結(jié)點(diǎn)的連線。(F)3②將一棵樹(shù)轉(zhuǎn)換成二叉樹(shù)后,根結(jié)點(diǎn)沒(méi)有左子樹(shù)。(F)4②必須把一般樹(shù)轉(zhuǎn)換成二叉樹(shù)后才干進(jìn)行存儲(chǔ)?!灸暇┖娇蘸教?997】四、簡(jiǎn)答題1③把如圖所示的樹(shù)轉(zhuǎn)化成二叉樹(shù)。ABABDGJMIKLCEFH2③如何把森林轉(zhuǎn)換成二叉樹(shù)。4.491題圖4.9.4知識(shí)點(diǎn):樹(shù)與二叉樹(shù)的遍歷圖一、選擇題1②已知某二叉樹(shù)的后序遍歷序列是dabec,中序遍歷序列是debac,則它的前序遍歷序列是(D)。 A.a(chǎn)cbed B.decabC.deabc D.cedba2②在一棵非空的二叉樹(shù)的中序遍歷序列中,根節(jié)點(diǎn)的右邊(B)。A.只有左子樹(shù)上的所有節(jié)點(diǎn)B.只有右子樹(shù)上的所有節(jié)點(diǎn)C.只有左子樹(shù)上的部分節(jié)點(diǎn)D.只有右子樹(shù)上的部分節(jié)點(diǎn)3②下列二叉樹(shù)的后序遍歷序列是(C)。aabcdfgexyh圖4.503題圖 A.abdecfghxy ?B.abdgcehfxyC.gdbhexyfca D.dgbaehcxfy4②任何一棵二叉樹(shù)的葉節(jié)點(diǎn)在前序、中序和后序遍歷序列中的相對(duì)順序(A)。 A.不發(fā)生改變? B.發(fā)生改變C.不能擬定?D.以上都不對(duì)5②線索二叉樹(shù)是一種(C)結(jié)構(gòu)。?A.邏輯 B.邏輯和存儲(chǔ)C.物理 ?D.線性6②將下圖的二叉樹(shù)按中序線索化,結(jié)點(diǎn)X的右指針和Y的左指針?lè)謩e指向(C)?A.A,D B.B,CC.D,A D.C,AAABDCEXY圖4.516題圖7②引入線索二叉樹(shù)的目的是(A)。【南京理工1998】?A.加快查找結(jié)點(diǎn)的前驅(qū)或后繼結(jié)點(diǎn)的速度?B.為了能在二叉樹(shù)中方便插入和刪除?C.為了能方便找到雙親? ???D.使二叉樹(shù)的遍歷結(jié)果唯一8②樹(shù)的后根遍歷序列等同于該樹(shù)相應(yīng)的二叉樹(shù)的(B)?!颈本├砉?023】A.先序序列B.中序序列C.后序序列9②一棵二叉樹(shù)的前序遍歷序列為ABCDEFG,它的中序遍歷序列也許是(B)【北京工業(yè)2023】A.CABDEFGB.ABCDEFGC.DACEFBGD.ADCFEG10②已知一棵二叉樹(shù)的前序遍歷結(jié)果為ABCDEF,中序遍歷結(jié)果為CBAEDF,則后序遍歷的結(jié)果為(A)?!菊憬?999】A.CBEFDAB.FEDCBAC.CBEDFAD.不定11②某二叉樹(shù)中序序列為A,B,C,D,E,F,G,后序序列為B,D,C,A,F,G,E則前序序列是:(B)【南京理工2023】A.E,G,F(xiàn),A,C,D,BB.E,A,C,B,D,G,F(xiàn)C.E,A,G,C,F(xiàn),B,DD.上面的都不對(duì)12②對(duì)于前序遍歷與中序遍歷結(jié)果相同的二叉樹(shù)為(BF);對(duì)于前序遍歷和后序遍歷結(jié)果相同的二叉樹(shù)為(B)。【中科院計(jì)算所1999】A.一般二叉樹(shù)B.只有根結(jié)點(diǎn)的二叉樹(shù)C.根結(jié)點(diǎn)無(wú)左孩子的二叉樹(shù)D.根結(jié)點(diǎn)無(wú)右孩子的二叉樹(shù)E.所有結(jié)點(diǎn)只有左子數(shù)的二叉樹(shù)F.所有結(jié)點(diǎn)只有右子樹(shù)的二叉樹(shù)二、填空題1②在二叉樹(shù)的一維數(shù)組存儲(chǔ)方式中,父節(jié)點(diǎn)和右孩子的索引值之間滿(mǎn)足的關(guān)系是_2倍加1____(dá)___。2②在中序線索化二叉樹(shù)時(shí),采用__中序______遍歷方法最合適。3②線索二叉樹(shù)中的左線索指向其__(dá)前驅(qū)__(dá)__(dá)__(dá),右線索指向其__后繼____(dá)__?!竟枮I工業(yè)2023】三、判斷題(T)1②

溫馨提示

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

評(píng)論

0/150

提交評(píng)論