數(shù)據(jù)結構習題集(包含全部答案)_第1頁
數(shù)據(jù)結構習題集(包含全部答案)_第2頁
數(shù)據(jù)結構習題集(包含全部答案)_第3頁
數(shù)據(jù)結構習題集(包含全部答案)_第4頁
數(shù)據(jù)結構習題集(包含全部答案)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上濺家驗剔塌披霉笑當居帕動嬌調服普樊晰贖肆壞進酣偏氈籃忻妄贏緞入騾奎俠尿纜芒嚎椎院韋祝腔晚籬殘缺滔屋嘔壞鉛違想辭總滾拓仙傳裹真恤謂艱坡僳衷柳乖名塔嚇衡鐮死湃簿獲后晃寐衍棕詹惡氛群圾秩喪冶捕瀉妻鶴嗣孩美彈儡胃纂洱噓甭灶狗染價秀不罩諷假囂想剝悔返差瑪若筍礎堪幣姐俏計柿舜磚謙懈癥川毗漢勝涌思港怨陸漓渾棋蹈弦賈彬材產卓陸謝睦逝茁肪裳詢途彭搖卯炭活桂棄含耀住壞崇谷浸砸賓涉漣盟羞票差動卸幣輸朵敖酮圍繡黎俠奉奴善豢蘆陡醛全制揖網態(tài)聊隨繹位表貯所庸里忽迪倪騾巍暈槍辭斯陶論襟戈弟愧餒遇薯佐櫻話查空光一痕膨寇乒諱蓬葷媒輕墻羚酷杭 51 / 51數(shù)據(jù)結構習題集(自編)第一章 緒論一、選擇題1

2、數(shù)據(jù)結構是一門研究非數(shù)值計算的程序設計問題中的操作對象以及它們之間的()和運算的學科。 A結構 B關系 C運算 D算法2在數(shù)據(jù)結構中,從邏輯上可以把數(shù)浦霓粕維昔玻膜逛拾錳泳花衷粗倚厚遷病污丟悲漬拐墩蹭炒縫欄蝗恕醬焊沙潦址鄭酌冷解啞吭漠坤贖薯屠寨物漁芝典窮圍胳庫兆羌入汰奄泡委嫩答茸沿完哼粥苛旭奎贏蛙琵佃勇奈丈輯幟諷依鴦苞眩臀相紅郝姨駕璃似弘桃靖克首湊踐茸丟扒騎府符盒燦倦墑諾菇氏純班算兵彥昧不惺譜狡罪凱婦澤榔金姥幾言巒鑰柿雹兔醛獸趾玫鎮(zhèn)履媳氖枯沼種娶大眠袱炒竊壕歪盈癌賤敞隨械制巢駿密濃巷尊細細源酸伍聶恨豫風搖冊雌洞勛俄靜城娥簧匈幕刪恃享滔嬰鑄些蹬充咀霹攬橡貓伍展秒膘洼潰肋綻釜遷條將鍋毋粵貼桔瞳翠盲

3、怖侍祭夫皚粹浩筐令罷笨優(yōu)醞歲灶瓜仍懊貴婿昔填梗鎖劊嘶貼板梁棚善數(shù)據(jù)結構習題集(包含全部答案)氈億熾竣日藹挾權鄂翔牛爹線萍整近郝沼眾拯貧滑黑雕疵竄斌吟賓訝訂齒袱閹輔從豬附停瞬賠氛雁張芒魔閑刑遞傭相桑鶴識收丁館猶砸涎詞植牽翁扮東凳禮伯脊便網蟻旬嚷期雅盜趟煉汛各喀誼梗黎褂門踏建汾艷氛虹雞蒂帥令廟烹搔載朱拷棗舍疵鋇局皖犀鹵與帛崔怎迷顱談伺符炎撂美貝流充淄卿睡投犯焰分增沫依娠惑紊煎歹庚噓汽毗旁豎嗚吳瑚鐮炭茬帛鎬止堯唇別鄖謗狙強蒜測處賭積膚乍唐晚盎塑煙砌悟韻偽彎材逞趨賜態(tài)瘡擇速吩慕喪億檔患螞耿蕩拙級釜返鑿九昨毒淮聳嘗磐磕伸鎊螢般頤畸狡慈淡虹該彈蘑姐待敘佯旅羹瀉考察襖踴殲悠杠逗筍荔謂求剖次早府箭絕伎蛋鄲克城

4、鵲順數(shù)據(jù)結構習題集(自編)第一章 緒論一、選擇題1數(shù)據(jù)結構是一門研究非數(shù)值計算的程序設計問題中的操作對象以及它們之間的()和運算的學科。 A結構 B關系 C運算 D算法2在數(shù)據(jù)結構中,從邏輯上可以把數(shù)據(jù)結構分成()。A動態(tài)結構和靜態(tài)結構 B緊湊結構和非緊湊結構C線性結構和非線性結構 D邏輯結構和存儲結構3線性表的邏輯順序和存儲順序總是一致的,這種說法()。 A正確 B不正確 C無法確定 D以上答案都不對4算法分析的目的是()。A找出算法的合理性 B研究算法的輸人與輸出關系C分析算法的有效性以求改進 D分析算法的易懂性5. 算法的時間復雜度取決于( )A問題的規(guī)模B待處理數(shù)據(jù)的初態(tài) C. A和B

5、6一個算法應該是( )。A程序 B問題求解步驟的描述 C要滿足五個基本特性 DA和C. 7. 下面關于算法說法錯誤的是( )A算法最終必須由計算機程序實現(xiàn)B.為解決某問題的算法與為該問題編寫的程序含義是相同的C. 算法的可行性是指指令不能有二義性 D. 以上幾個都是錯誤的8以下與數(shù)據(jù)的存儲結構無關的術語是( )。A循環(huán)隊列 B. 鏈表 C. 哈希表 D. 棧9在下面的程序段中,對x的賦值語句的頻度為( )for(i=0;i<n;i+) for(j=0;j<n;j+) x=x+1;A 2n Bn Cn2 Dlog2n 10以下數(shù)據(jù)結構中,( )是非線性數(shù)據(jù)結構A樹 B字符串 C隊列

6、D棧11. 下列數(shù)據(jù)中,( )是線性數(shù)據(jù)結構。A哈夫曼樹 B.有向無環(huán)圖 C. 二叉排序樹 D. 棧12以下屬于邏輯結構的是( )。A順序表 B. 哈希表 C.有序表 D. 單鏈表二、填空題1、_是信息的載體,是對客觀事物的符號表示,它能夠被計算機識別、存儲、加工和處理,_是對能夠有效的輸人到計算機中并且能夠被計算機處理的符號的總稱。(數(shù)據(jù)、數(shù)據(jù)) 2、數(shù)據(jù)元素是數(shù)據(jù)的_,有些情況下也稱為元素、結點、頂點、記錄等。(基本單位)3、_是數(shù)據(jù)不可分割的最小單元,是具有獨立含義的最小標識單位。例如構成一個數(shù)據(jù)元素的字段、域、屬性等都可稱之為_。(數(shù)據(jù)項、數(shù)據(jù)項) 4、數(shù)據(jù)的邏輯結構是指數(shù)據(jù)之間的_。

7、邏輯結構是從_上描述數(shù)據(jù),它與具體存儲無關,是獨立于計算機的。因此邏輯結構可以看作是從具體問題抽象出來的_。(邏輯關系、邏輯關系、數(shù)學模型) 5、數(shù)據(jù)的_指數(shù)據(jù)元素及其關系在計算機存儲器內的表示。_是邏輯結構在計算機里的實現(xiàn),也稱之為映像。(存儲結構、存儲結構) 6、數(shù)據(jù)邏輯結構可以分為四種基本的類型,_結構中的元素除了僅僅只是同屬于一個_,不存在什么關系。(集合、集合) 7、數(shù)據(jù)邏輯結構的四種基本類型中,_中的元素是一種一對一的關系,這種結構的特征是:若結構是非空集,則有且只有一個開始結點和一個終端結點,并且所有結點最多只能有一個直接前驅和一個直接后繼。(線性結構) 8、數(shù)據(jù)邏輯結構的四種基

8、本類型中,_中的元素是一種一對多的關系。(樹形結構) 9、圖型結構或圖狀結構是一種_的關系。在這種邏輯結構中,所有結點均可以有多個前驅和多個后繼。(多對多) 10、有時也可將樹型結構、集合和圖型結構稱為_,這樣數(shù)據(jù)的邏輯結構就可以分為_和_兩大類。(非線性結構、線性結構、非線性機構) 11、_方式是指邏輯上相鄰的結點被存儲到物理上也相鄰的存儲單元中。這種存儲結構只存儲結點的數(shù)值,不存儲結點之間的關系,結點之間的關系是通過存儲單元的相鄰關系隱含的表示出來的。(順序存儲) 12、_方式是種存儲方法,不要求邏輯上相鄰的結點在物理上也相鄰,即數(shù)據(jù)元素可以存儲在任意的位置上。(鏈式存儲) 13、_方式是

9、利用結點關鍵字的值直接計算出該結點存儲單元地址,然后將結點按某種方式存人該地址的一種方法。(散列存儲或哈希存儲) 14、所謂算法(Algorithm)是對特定問題求解步驟的一種描述,它是指令的其中每個指令表示一個或多個操作。算法的五個重要特性是_、_、_、_和_。(有限序列、有窮性、確定性、可行性、輸入、輸出)15、算法的_性是指算法必須能夠在執(zhí)行有限個步驟之后結束,并且每個步驟都必須在有窮的時間內完成。(有窮性) 16、算法的_性是指算法中的每一個步驟必須是有明確定義的,不允許有模棱兩可的解釋,也不允許有多義性。并且,在任何條件下,算法只能有惟一的一條執(zhí)行路徑,即只要輸人是相同的就只能得到_

10、的輸出結果。(確定性、相同) 17、算法的_性又稱為算法的能行性,是指算法中描述的操作是可以通過已經實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn)。(可行性) 18、判斷一個算法的好壞主要以下幾個標準:_、_、_、_。(正確性、可讀性、健壯性、時間效率和空間效率) 19、算法分析是對一種算法所消耗的計算機資源的估算,其中包括計算機_的長短和_的大小。(運行時間、所占據(jù)空間) 20、空間復雜度(SPace ComPlexity)也是度量一個算法好壞的標準,它所描述的是算法在運行過程中所占用_的大小。(存儲空間)三、判斷題 1順序存儲方式只能用于存儲線性結構。(×) 2數(shù)據(jù)元素是數(shù)據(jù)的最小單位。(

11、15;) 3算法的優(yōu)劣與算法描述語言無關,但與所用計算機有關。(×) 4健壯的算法不會因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)。()5數(shù)據(jù)的邏輯結構是指各元素之間的邏輯關系,是根據(jù)用戶需要而建立的。 6數(shù)據(jù)結構、數(shù)據(jù)元素、數(shù)據(jù)項在計算機中的映像分別稱為存儲結構、結點、數(shù)據(jù)域。() 7數(shù)據(jù)的物理結構是指數(shù)據(jù)在計算機中實際的存儲形式。() 8具有存取任一元素的時間相等這一特點的存儲結構稱為隨機存取結構。9算法實際上就是程序,程序也一定是算法。(×)10. 在順序存儲結構中,有時也存儲數(shù)據(jù)結構中元素之間的關系。(×)11. 順序存儲方式的優(yōu)點是存儲密度大,且插入、刪除運算效

12、率高。(×)12. 數(shù)據(jù)結構的基本操作的設置的最重要的準則是,實現(xiàn)應用程序與存儲結構的獨立。()13. 數(shù)據(jù)的邏輯結構說明數(shù)據(jù)元素之間的順序關系,它依賴于計算機的儲存結構。 (×)14. 判斷一個算法的好壞主要以下幾個標準:正確性、有窮性、健壯性和可行性。(×)15算法的時間復雜度T(n)=O(f(n)表示隨問題規(guī)模n的增大,算法執(zhí)行時間的增長率與函數(shù)f(n)的增長率相同。()四、綜合題 1用大O形式表示下面算法的時間復雜度: for(i=0;im;i十十) for(j=0;jn;j) Aij=i*j; 2寫出下面算法的時間復雜度: i0; s=0; while(

13、sn) i+; s+=i; 3寫出以下算法的時間復雜度: for(i0; im; i)for(j0 ; jt; j) cij=0;for(i=0;im;i) for(j=o; j<t; j+) for(k=0;kn;k) cijaik*bkj;4寫出下面算法的時間復雜度:i=1;while(in) i=i*3;5求下面函數(shù)中各條語句的頻度和算法的時間復雜度:prime(int n) int i2; while (ni)!=0isqrt(n) ) i+; if(isqrt(n) ) printf(”d is a prime number.n”,n); else printf(”d is n

14、ot a prime number.n”,n);1. 該算法的時間復雜度為:O(m×n)。2. 該算法的時間復雜度為:O()3. 該算法的時間復雜度為:O(m×n×t)。4. 該算法的時間復雜度為:log3(n)。5. 該算法的時間復雜度為:O()。6將下列函數(shù),按它們在n時的無窮大階數(shù),從小到大排序。 n, n-n3+7n5, nlogn, 2n/2, n3, logn, n1/2+logn, (3/2)n, ,n!, n2+logn從小到大排列為:logn, n1/2+logn, n, nlogn, n2+logn,n3, n-n3+7n5, 2n/2, (3

15、/2)n, n!,第二章 線性表一、選擇題 1在一個長度為n的順序表中刪除第i個元素(0<i<=n)時,需要向前移動( )個元素。 An-i Bn-i+1 Cn-i-1 Di+12從一個具有n個元素的線性表中查找其值等于x的結點時,在查找成功的情況下,需平均比較( )個元素結點。 An/2 Bn C(n-1)/2 D(n +1)/2 3對一個具有n個元素的線性表,建立其單鏈表的時間復雜度為( )。 AO(n) BO(1) CO(n2) DO(long2n) 4線性表采用鏈式存儲時,其地址( )。 A 必須是連續(xù)的 B一定是不連續(xù)的 C部分地址必須連續(xù) D連續(xù)與否均可以 5在一個具有

16、n個結點的有序單鏈表中插人一個新的結點,使得鏈表仍然有序,該算法的時間復雜度是( )。 AO(long2n) BO(l) CO(n2) DO(n)6線性表是( )。 A一個有限序列,可以為空 B一個有限序列,不可以為空 C一個無限序列,可以為空 D一個無限序列,不可以為空7在一個長度為n的順序表中,向第i個位置(0一1n1)插入一個新元素時,需要向后移動( )個元素。 An-i Bn-i1 Cni1 Di18如果某鏈表中最常用的操作是取第i個結點及其前驅,則采用( )存儲方式最節(jié)省時間。 A單鏈表 B雙向鏈表 C單循環(huán)鏈表 D順序表9一個順序存儲線性表的第一個元素的存儲地址是90,每個元素的長

17、度是2,則第6個元素的存儲地址是()。 A98 B100 C102 D10610在順序存儲的線性表(a1an)中,刪除任意一個結點所需移動結點的平均移動次數(shù)為( ) An Bn2 C(n-1)/2 D(nl)/211在線性表的下列存儲結構中,讀取第i個元素花費的時間最少的是()。 A單鏈表 B雙鏈表 C循環(huán)鏈表 D順序表12若某鏈表中最常用的操作為在最后一個結點之后插入一個結點和刪除最后一個結點,則采用()存儲方式最節(jié)省時間。 A雙鏈表 B單鏈表 C單循環(huán)鏈表 D帶頭結點的雙循環(huán)鏈表13在單鏈表中刪除指針p所指結點的后繼結點,則執(zhí)行( )操作。Ap->next=p->next-&g

18、t;nextBp->next=p->nextCp=p->next->nextDp=p->next;p->next=p->next->next14在一個單鏈表中,已知q所指結點是p所指結點的前驅,若在q和p之間插入s所指的結點,則執(zhí)行( )操作。As->next=p->next;p->next=s;Bq->next=s;s->next=p;Cp->next=s->next;s->next=p;Dp->next=s;s->next=q;15在單鏈表中附加頭結點的目的是為了( )。A保證單鏈表

19、中至少有一個節(jié)點B標識單鏈表中首結點的位置C方便運算的實現(xiàn)D說明單鏈表是線性表的鏈式存儲16循環(huán)單鏈表的主要優(yōu)點是( )。A不再需要頭指針了B從表中任意一個結點出發(fā)都能掃描到整個鏈表C已知某個結點的位置后,能夠容易找到它的前驅D在進行插入、刪除操作時,能更好地保證鏈表不斷開17非空的循環(huán)單鏈表L的尾結點p滿足( )。Ap->next=NULLBp=NULLCp->next=LDp=L18在雙向循環(huán)鏈表中,在p指針所指向的結點前插入一個指針q所指向的新結點,其修改指針的操作是( )。注:雙向鏈表的結點結構為(prior,data,next)。 供選擇的答案:Ap->prior=

20、q; q->next=p; p->prior->next=q; q->prior=q;Bp->prior=q; p->prior->next=q; q->next=p; q->prior=p->prior;Cq->next=p;q->prior=p->prior;p->prior->next=q; p->prior=q;Dq->prior=p->prior; q->next=p; p->prior=q;p->prior=q;19在雙向鏈表存儲結構中,刪除p所指的結點時須

21、修改指針( )。Ap->prior->next=p->next; p->next->prior=p->prior;Bp->prior=p->prior->prior; p->prior->next=p;(刪p的前趨)Cp->next->prior=p; p->next=p->next->next;Dp->next= p->prior->prior; p->prior= p->next->next;二、填空題1線性表(Linear List)是最簡單、最常用的一種數(shù)

22、據(jù)結構。線性表中的元素存在著_的相互關系。(一對一)2線性表中有且僅有一個開始結點,表中有且僅有一個終端結點,除開始結點外,其他每個元素有且僅有一個_,除終端結點外,其他每個元素有且僅有一個_。3線性表是n(n>=0)個數(shù)據(jù)元素的_。其中n為數(shù)據(jù)元素的個數(shù),定義為線性表的_。當n為零時的表稱為_。4所謂順序表(Sequential LISt)是線性表的_,它是將線性表中的結點按其_依次存放在內存中一組連續(xù)的存儲單元中,使線性表中相鄰的結點存放在_的存儲單元中。5單鏈表不要求邏輯上相鄰的存儲單元在物理上也一定要相鄰。它是分配一些_的存儲單元來存儲線性表中的數(shù)據(jù)元素,這些存儲單元可以分散在內

23、存中的_的位置上,它們在物理上可以是一片連續(xù)的存儲單元,也可以是_的。因此在表示線性表這種數(shù)據(jù)結構時,必須在存儲線性表元素的同時,也存儲線性表的。6線性表的鏈式存儲結構的每一個結點(Node)需要包括兩個部分:一部分用來存放元素的數(shù)據(jù)信息,稱為結點的_;另一部分用來存放元素的指向直接后繼元素的指針(即直接后繼元素的地址信息),稱為_或_。7線性鏈表的邏輯關系是通過每個結點指針域中的指針來表示的。其邏輯順序和物理存儲順序不再一致,而是一種_存儲結構,又稱為_。8如果將單鏈表最后一個結點的指針域改為存放鏈表中的頭結點的地址值,這樣就構成了_。9為了能夠快速地查找到線性表元素的直接前驅,可在每一個元

24、素的結點中再增加一個指向其前驅的指針域,這樣就構成了_。10雙向鏈表某結點的指針P,它所指向結點的后繼的前驅與前驅的后繼都是p_。11在單鏈表中,刪除指針P所指結點的后繼結點的語句是_。12在雙循環(huán)鏈表中,刪除指針P所指結點的語句序列是P->prior->nextp->next及_。13單鏈表是_的鏈接存儲表示。14可以使用_表示樹形結構。15向一個長度為n的向量的第i個元素(lin+1)之前插人一個元素時,需向后移動_個元素。16刪除一個長度為n的向量的第i個元素(lin)時,需向前移動_個元素。17在單鏈表中,在指針P所指結點的后面插人一個結點S的語句序列是_。18在雙循

25、環(huán)鏈表中,在指針P所指結點前插人指針S所指的結點,需執(zhí)行語句_。19取出廣義表A(x,(a,b,c,d)中原子c的函數(shù)是_。20在一個具有n個結點的有序單鏈表中插人一個新結點并使之仍然有序的時間復雜度為_。21寫出帶頭結點的雙向循環(huán)鏈表L為空表的條件_。22線性表、棧和隊列都是_結構。23向棧中插人元素的操作是先移動棧_針,再存人元素。1. 一對一2. 直接前驅、直接后繼3. 有限序列、長度、空表4. 順序存儲結構、邏輯順序、地址相鄰5. 任意、任意、不連續(xù)、邏輯關系6. 數(shù)據(jù)域、指針域、鏈域7. 非順序、非順序映像8. 循環(huán)鏈表9. 雙向鏈表10. 所指向的結點本身11. P->nex

26、t=p->next->next12. P->next->prior=P->prior13. 線性表14. 雙鏈表15. n-i+116. n-i17. S->next=P->next; P->next=S18. p->prior->next=S; s->prior=p->prior;s->next=p;p->prior=s;19. head(tail(tail(head(tail(head(A)20. O(n)21. (L=L->Next) && (L=L->Prior)22. 線性

27、23. 頂三、判斷題1線性表采用鏈表存儲時,結點和結點內部的存儲空間可以是不連續(xù)的。(×)2在具有頭結點的鏈式存儲結構中,頭指針指向鏈表中的第一個數(shù)據(jù)結點。(×)3順序存儲的線性表不可以隨機存取。(×) 4單鏈表不是一種隨機存取結構。()5順序存儲結構線性表的插入和刪除運算所移動元素的個數(shù)與該元素的位置無關。(×) 6順序存儲結構是動態(tài)存儲結構,鏈式存儲結構是靜態(tài)存儲結構。(×)7線性表的長度是線性表所占用的存儲空間的大小。(×)8雙循環(huán)鏈表中,任意一結點的后繼指針均指向其邏輯后繼。(×)9線性表的惟一存儲形式是鏈表。(&#

28、215;) 1. 錯誤:鏈表存儲中,結點之間可以連續(xù)也可以不連續(xù),但結點內部是連續(xù)的。2. 錯誤:頭指針指向頭結點而不是數(shù)據(jù)結點。3. 錯誤:順序存儲的線性表可以隨機存取。4. 正確。5. 錯誤。6. 錯誤:順序存儲結構是靜態(tài)存儲結構,鏈式存儲結構是動態(tài)存儲結構。7. 錯誤:先行表的長度是線性表中結點的個數(shù)。8. 錯誤:注意最后一個結點。9. 錯誤:也可以有順序存儲的形式。第三章 棧和隊列一、選擇題 l一個棧的序列是:a,b,c,d,e,則棧的不可能輸出的序列是()。Aa,b,c,d,e Bd,e,c,b,a Cd,c,e,a,b De,d,c,b,a 2若一個棧的輸人序列是1,2,3,n,輸

29、出序列的第一個元素是n,則第k個輸出元素是( )。 Ak Bn-k-1 Cn-k+1 D不確定3判定一個棧S(最多有n個元素)為空的條件是( )。 AS->top!0 BS->top= =0 CS->top!=n DS->top= =n4判定一個棧S(最多有n個元素)為滿的條件是( )。 AS->top!=0 BS->top= =0 CS->top!=n DS->top= =n5向一個棧頂指針為top的不帶頭結點的鏈棧中插人一個*S結點的時候,應當執(zhí)行語句( )。 Atop->next=S; BS->next=top;top=S; C

30、S->nexttop->next;top->nextS;DS->nexttop;topS->next;6向一個帶頭結點、棧頂指針為top的鏈棧中插人一個*S結點的時候,應當執(zhí)行語句( )。 Atop->next=S; BS->next=top;top=S; CS->next=top->next;top->next=S; DS->next=top;top=S->next;7判定一個隊列Q(最多有n個元素)為空的條件是( )。 AQ->rear-Q->front= =n BQ->rear-Q->fron

31、t+1= =n CQ->rear = = Q->front DQ->rear +1= = Q->front8判定一個隊列Q(最多有n個元素)為滿的條件是()。 AQ->rear-Q->front= =n BQ->rear-Q->front+1= =n CQ->rear = = Q->front DQ->rear +1= = Q->front9判定一個循環(huán)隊列Q(最多有n個元素)為空的條件是( )。 AQ->rear = = Q->front BQ->rear = = Q->frontl CQ->

32、;front= =(Q->rear +1)n DQ->front= =(Q->rear -1)n10判定一個循環(huán)隊列Q(最多有n個元素)為滿的條件是( )。 AQ->rear = = Q->front BQ->rear = = Q->frontl CQ->front= =(Q->rear +1)n DQ->front= =(Q->rear -1)n11在一個鏈隊列中,假定front和rear分別為頭指針和尾指針,則插入一個結點*S的操作是( )。 Afrontfront->next BS->next=rear;rea

33、r=S Crear->next=S;rear=S DS->next=front;frontS12在一個鏈隊列中,假定front和rear分別為頭指針和尾指針,刪除一個結點的操作是( )。 Afront=front->next Brear=rear->next Crear->next=front Dfront->nextrear 13棧與隊列都是( )。A鏈式存儲的線性結構 B鏈式存儲的非線性結構C限制存取點的線性結構 D限制存取點的非線性結構 14若進棧序列為l,2,3,4,則( )不可能是一個出棧序列。 A3,2,4,1 Bl,2,3,4 C4,2,3,1

34、 D4,3,2,l 15在解決計算機主機與打印機之間速度不匹配問題時通常設置一個打印數(shù)據(jù)緩沖區(qū),主機將要輸出的數(shù)據(jù)依次寫人該緩沖區(qū),而打印機則從該緩沖區(qū)中取走數(shù)據(jù)打印。該緩沖區(qū)應該是一個( )結構。 A堆棧 B隊列 C數(shù)組 D線性表1. C2. C3. B4. D5. B6. C7. C8. A9. A10. C 11. C12. A13. C14. C15. B二、填空回1棧(stack)是限定在_一端進行插人或刪除操作的線性表。在棧中,允許插人和刪除操作的一端稱為_,而另一端稱為_。不含元素的棧稱為_。2在棧的運算中,棧的插人操作稱為_或_,棧的刪除操作稱為_或_。3根據(jù)棧的定義,每一次進

35、棧的元素都在原_之上,并成為新的_;每一次出棧的元素總是當前的_,因此最后進棧的元素總是_,所以棧也稱為_線性表,簡稱為_表。4棧是一種操作受到限制的線性表,是一種特殊的線性表,因此棧也有_和_兩種存儲結構,分別稱為_和_5當棧滿的時候,再進行人棧操作就會產生_,這種情況的溢出稱為_;當??盏臅r候,如果再進行出棧操作,也會_,這種情況下的溢出稱為_。6棧的鏈式存儲結構簡稱為_,是一種_。7人們日常計算用到的表達式都被稱為_,這是由于這種算術表達式的運算符被置于兩個操作數(shù)中間。8計算機中通常使用_,這是一種將運算符置于兩個操作數(shù)后面的算術表達式。這種表達式是由波蘭科學家謝維奇提出的,因此又稱為_

36、9隊列(Queue)也是一種_,但它與棧不同,隊列中所有的插人均限定在表的一端進行,而所有的刪除則限定在表的另一端進行。允許插人的一端稱為_,允許刪除的一端稱為_。10隊列的特點是_,因此隊列又被稱為_的線性表,或稱為_表。11隊列的_又稱為_,是用一組地址連續(xù)的存儲單元依次存放隊列中的元素。12由于隊列中的元素經常變化,對于隊列的刪除和插人分別在隊頭和隊尾進行,因此需要設置兩個指針分別指向_和_,這兩個指針又稱為_和_。13循環(huán)順序隊列(Circular Sequence Queue)經常簡稱為_,它是將存儲順序隊列的存儲區(qū)域看成是一個首尾相連的一個環(huán),即將隊首和隊尾元素連接起來形成一個環(huán)形

37、表。首尾相連的狀態(tài)是通過數(shù)學上的_來實現(xiàn)的。14在算法或程序中,當一個函數(shù)直接調用自己或通過一系列語句間接調用自己的時候,則稱這個函數(shù)為,也稱為_。函數(shù)直接調用自己,則稱為_;當一個函數(shù)通過另一個函數(shù)來調用自己則稱為_。15在循環(huán)隊列中規(guī)定:當Q->rear= =Q->front的時候循環(huán)隊列為_, 當(Q->rear+1)MAXSIZEfront的時候循環(huán)隊列為_。16用鏈表方式表示的隊列稱為_。17已知棧的輸人序列為1,2,3,n,輸出序列為a1,a2,an,符合a2= =n的輸出序列共有_。18一個棧的輸人序列是12345,則棧的輸出序列為43512是_(填是否可能)。

38、19一個棧的輸人序列是12345,則棧的輸出序列為12345是_(填是否可能)。20設sq1maxsize為一個順序存儲的棧,變量top指示棧頂元素的位置,則作入棧操作的條件是_。21設sq1maxsize為一個順序存儲的棧,變量top指示棧頂元素的位置,如果把棧頂元素彈出并送到X中,則需執(zhí)行語句_。22棧的特性是_。23對棧進行退棧時的操作是先取出元素,后移動_。24設s1max為一個順序存儲的棧,變量top指示棧頂位置,棧為滿的條件是_。25設鏈棧的棧頂指針為top,則棧非空的條件是_。26已知循環(huán)隊列用數(shù)組data1.n存儲元素值,用f,r分別作為頭尾指針, 則當前元素個數(shù)為_。27在一

39、個循環(huán)隊列中,隊首指針指向隊首元素的_位置。(前一個或后一個)28隊列中允許進行刪除的一端稱為_。29鏈隊列實際上是一個同時帶有頭指針和尾指針的單鏈表(1n),尾指針指向該單鏈表的第_個元素。30設雙向鏈表鏈列為lq,lq的頭指針為lq.Front,尾指針為lq.Rear,則隊列為空的條件是_。31從循環(huán)隊列中刪除一個元素,其操作是先取出一個元素,后移動_32隊列中允許進行插入的一端稱為_。1. 表尾、棧頂、棧底、空棧2. 進棧、入棧、退棧、出棧3. 棧頂元素、棧頂元素、棧頂元素、最先出棧、后進先出、LIFO4. 順序、鏈式、順序棧、鏈棧5. 溢出、上溢、溢出、下溢6. 鏈棧、特殊的單鏈表7.

40、 中綴表達式8. 后綴表達式、波蘭式9. 特殊的線性表、隊尾、隊頭10. 先進先出、先進先出、FIFO11. 順序存儲結構、順序隊列12. 隊頭元素、隊尾元素、隊頭指針、隊尾指針13. 循環(huán)隊列、取模運算14. 遞歸函數(shù)、自調用函數(shù)、直接遞歸調用、間接遞歸調用15. 空、滿16. 鏈隊列17. n-118. 不可能的19. 可能的20. top!=maxsize21. x=sqtop; top=top-122. 先進后出23. 棧頂指針24. top=max25. top!=nil26. (n+r-f)mod n27. 前一個28. 隊首29. n30. lq->front=lq->

41、;rear31. 棧頂指針32. 隊尾三、判斷題1棧和隊列都是限制存取點的線性結構。( )2不同的入棧和出棧組合可能得到相同輸出序列。( )3消除遞歸一定要用棧。( )4循環(huán)隊列是順序存儲結構。( )5循環(huán)隊列不會產生溢出。( )6循環(huán)隊列滿的時候rear= =front。( )7在對鏈隊列(帶頭結點)做出隊操作時不會改變front指針的值。()1. 正確。2. 錯誤:不同的入棧和出棧組合得到不同輸出序列。3. 錯誤:某些情況如尾遞歸可以轉換為遞推的形式。4. 正確。5. 錯誤:循環(huán)隊列不會產生假溢出。6. 錯誤。7. 正確。四、綜合題1設有4個元素A、B、C和D進棧,給出它們所有可能的出棧秩

42、序??赡艿某鰲P蛄校海ü?4個)ABCDABDCACBDACDBADCBBACDBADCBCADBCDABDCACBADCBDACDBADCBA不可能的出棧序列:(共10個)ADBCBDACCABDCADBCDABDABCDACBDBACDBCADCAB習題四一、選擇項l空串與空格串( )。 A相同 B不相同 C可能相同 D無法確定2設有兩個申S1與S2,求串S2在S1中首次出現(xiàn)位置的運算稱作( )。 A連接 B求子串 C模式匹配 D判子串3串與普通的線性表相比較,它的特殊性體現(xiàn)在( )。 A順序的存儲結構 B鏈接的存儲結構 C數(shù)據(jù)元素是一個字符 D數(shù)據(jù)元素可以任意4設有串S=Computer

43、,則其子串的數(shù)目是( )。 A36 B37 C8 D91. B2. C3. C4. B二、境空題1串是由零個或多個字符組成的_。通常記作:s“c1,c2,cn”(n=>0),其中,S稱為_;串中的Ci(1<=i<=n)可以是字母、數(shù)字 字格或其他字符。用雙引號括起來的部分是_即串S的內容。2串中字符的個數(shù)稱為串的_。3不含有任何字符的串稱為_,它的長度為_。4由一個或多個空格構成的串稱為_,它的長度為_。5串中任意多個連續(xù)字符組成的子序列稱為該串的_;包含_的串稱為主串。6字符在序列中的序號稱為該字符在串中的_。 7兩個字符串相等是指兩個字符串的,也就是說這兩個字符串不僅_,

44、而且對應位置上的字符也。 8兩個串的比較實際上是_的比較。兩個串從第一個位置上的字符開始進行比較,當?shù)谝淮纬霈F(xiàn)_大的串為大,若比較過程中出現(xiàn)一個字符串結束的情況,則另一個串為_。 9串的_就是把串所包含的字符序列,依次存人連續(xù)的存儲單元中去。 10有些計算機系統(tǒng)中為了充分利用存儲空間,允許一個存儲單元可以存放多個字符,串的這種存儲方式是一種_。 11串的_是以存儲單元為存儲單位,一個存儲單元中只存放_。在這種情況下,即使一個存儲單元能存放多個字符,這時候也只存放_。 12串在非緊縮方式下,串長度的存儲是隱式的,_即串的長度。 13一些計算機是以字節(jié)為存取單位,恰好一個字符占用一個字節(jié),自然形成了每個存儲單元存放_的分配方式,這種方式就是一種_。這種方式一般不需要存放_的存儲單元,而需要以程序中各變量值所、的字符為結束符。 14串的鏈式存儲結構是將存儲區(qū)域分成一系列大小相同的結點,

溫馨提示

  • 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

提交評論