數(shù)據(jù)結(jié)構(gòu)C版課后作業(yè)16章帶答案_第1頁
數(shù)據(jù)結(jié)構(gòu)C版課后作業(yè)16章帶答案_第2頁
數(shù)據(jù)結(jié)構(gòu)C版課后作業(yè)16章帶答案_第3頁
數(shù)據(jù)結(jié)構(gòu)C版課后作業(yè)16章帶答案_第4頁
數(shù)據(jù)結(jié)構(gòu)C版課后作業(yè)16章帶答案_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 章緒 論課后習(xí)題講解1. 填空(1) 從邏輯關(guān)系上講,數(shù)據(jù)結(jié)構(gòu)主要分為( )、( )、( )和( )。 (2) 數(shù)據(jù)的存儲結(jié)構(gòu)主要有( )和( )兩種基本方法,不論哪種存儲結(jié)構(gòu),都要存儲兩方面的內(nèi)容:( )和( )。(3)算法在發(fā)生非法操作時可以作出處理的特性稱為( )。2. 選擇題 順序存儲結(jié)構(gòu)中數(shù)據(jù)元素之間的邏輯關(guān)系是由( )表示的,鏈接存儲結(jié)構(gòu)中的數(shù)據(jù)元素之間的邏輯關(guān)系是由( )表示的。 A 線性結(jié)構(gòu) B 非線性結(jié)構(gòu) C 存儲位置 D 指針 假設(shè)有如下遺產(chǎn)繼承規(guī)則:丈夫和妻子可以相互繼承遺產(chǎn);子女可以繼承父親或母親的遺產(chǎn);子女間不能相互繼承。則表示該遺產(chǎn)繼承關(guān)系的最合適的數(shù)據(jù)結(jié)構(gòu)

2、應(yīng)該是( )。 A 樹 B 圖 C 線性表 D 集合3. 判斷題(1) 每種數(shù)據(jù)結(jié)構(gòu)都具備三個基本操作:插入、刪除和查找。 第 2 章線性表課后習(xí)題講解1. 填空 順序表中第一個元素的存儲地址是100,每個元素的長度為2,則第5個元素的存儲地址是( )。第5個元素的存儲地址=第1個元素的存儲地址(51)×2=108 設(shè)單鏈表中指針p 指向結(jié)點A,若要刪除A的后繼結(jié)點(假設(shè)A存在后繼結(jié)點),則需修改指針的操作為( )?!窘獯稹縫->next=(p->next)->next 非空的單循環(huán)鏈表由頭指針head指示,則其尾結(jié)點(由指針p所指)滿足( )。p->next

3、=head 在由尾指針rear指示的單循環(huán)鏈表中,在表尾插入一個結(jié)點s的操作序列是( );刪除開始結(jié)點的操作序列為( )。 【解答】s->next =rear->next; rear->next =s; rear =s; q=rear->next->next; rear->next->next=q->next; delete q; 2. 選擇題 線性表的順序存儲結(jié)構(gòu)是一種( )的存儲結(jié)構(gòu),線性表的鏈接存儲結(jié)構(gòu)是一種( )的存儲結(jié)構(gòu)。 A 隨機存取 B 順序存取 C 索引存取 D 散列存取 【解答】A,B 【分析】參見。 線性表采用鏈接存儲時,其地

4、址( )。 A 必須是連續(xù)的 B 部分地址必須是連續(xù)的 C 一定是不連續(xù)的 D 連續(xù)與否均可以【解答】D 【分析】線性表的鏈接存儲是用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素,這組存儲單元可以連續(xù),也可以不連續(xù),甚至可以零散分布在內(nèi)存中任意位置。 單循環(huán)鏈表的主要優(yōu)點是( )。 A 不再需要頭指針了 B 從表中任一結(jié)點出發(fā)都能掃描到整個鏈表; C 已知某個結(jié)點的位置后,能夠容易找到它的直接前趨; D 在進行插入、刪除操作時,能更好地保證鏈表不斷開?!窘獯稹緽 鏈表不具有的特點是( )。 A 可隨機訪問任一元素 B 插入、刪除不需要移動元素 C 不必事先估計存儲空間 D 所需空間與線性表長度成正比

5、. 【解答】A 若某線性表中最常用的操作是取第i 個元素和找第i個元素的前趨,則采用( )存儲方法最節(jié)省時間。 A 順序表 B 單鏈表 C 雙鏈表 D 單循環(huán)鏈表 【解答】A 【分析】線性表中最常用的操作是取第i 個元素,所以,應(yīng)選擇隨機存取結(jié)構(gòu)即順序表,同時在順序表中查找第i個元素的前趨也很方便。單鏈表和單循環(huán)鏈表既不能實現(xiàn)隨機存取,查找第i個元素的前趨也不方便,雙鏈表雖然能快速查找第i個元素的前趨,但不能實現(xiàn)隨機存取。 使用雙鏈表存儲線性表,其優(yōu)點是可以( )。 A 提高查找速度 B 更方便數(shù)據(jù)的插入和刪除 C 節(jié)約存儲空間 D 很快回收存儲空間 【解答】B 【分析】在鏈表中一般只能進行順

6、序查找,所以,雙鏈表并不能提高查找速度,因為雙鏈表中有兩個指針域,顯然不能節(jié)約存儲空間,對于動態(tài)存儲分配,回收存儲空間的速度是一樣的。由于雙鏈表具有對稱性,所以,其插入和刪除操作更加方便。 在一個單鏈表中,已知q所指結(jié)點是p所指結(jié)點的直接前驅(qū),若在q和p之間插入s所指結(jié)點,則執(zhí)行( )操作。 A s->next=p->next; p->next=s; B q->next=s; s->next=p; C p->next=s->next; s->next=p; D p->next=s; s->next=q; 【解答】B,本題答案不是非常合

7、理,應(yīng)該換順序更好! 考試可以修改說: 已知q所指結(jié)點,在q后面插入一個節(jié)點。 在循環(huán)雙鏈表的p所指結(jié)點后插入s所指結(jié)點的操作是( )。 A p->next=s; s->prior=p; p->next->prior=s; s->next=p->next; B p->next=s; p->next->prior=s; s->prior=p; s->next=p->next; C s->prior=p; s->next=p->next; p->next=s; p->next->prior=

8、s; D s->prior=p; s->next=p->next; p->next->prior=s; p->next=s 【解答】D 3. 判斷題 線性表的邏輯順序和存儲順序總是一致的。 【解答】錯。順序表的邏輯順序和存儲順序一致,鏈表的邏輯順序和存儲順序不一定一致。 線性表的順序存儲結(jié)構(gòu)優(yōu)于鏈接存儲結(jié)構(gòu)。 線性結(jié)構(gòu)的基本特征是:每個元素有且僅有一個直接前驅(qū)和一個直接后繼。 【解答】錯。每個元素最多只有一個直接前驅(qū)和一個直接后繼,第一個元素沒有前驅(qū),最后一個元素沒有后繼。 在單鏈表中,要取得某個元素,只要知道該元素所在結(jié)點的地址即可,因此單鏈表是隨機存取結(jié)

9、構(gòu)。 【解答】錯。要找到該結(jié)點的地址,必須從頭指針開始查找,所以單鏈表是順序存取結(jié)構(gòu)。4請說明順序表和單鏈表各有何優(yōu)缺點,并分析下列情況下,采用何種存儲結(jié)構(gòu)更好些。 若線性表的總長度基本穩(wěn)定,且很少進行插入和刪除操作,但要求以最快的速度存取線性表中的元素。 如果n個線性表同時并存,并且在處理過程中各表的長度會動態(tài)發(fā)生變化。 描述一個城市的設(shè)計和規(guī)劃。【解答】順序表的優(yōu)點: 無需為表示表中元素之間的邏輯關(guān)系而增加額外的存儲空間; 可以快速地存取表中任一位置的元素(即隨機存取)。順序表的缺點: 插入和刪除操作需移動大量元素; 表的容量難以確定; 造成存儲空間的“碎片”。 單鏈表的優(yōu)點: 不必事先知

10、道線性表的長度; 插入和刪除元素時只需修改指針,不用移動元素。單鏈表的缺點: 指針的結(jié)構(gòu)性開銷; 存取表中任意元素不方便,只能進行順序存取。 應(yīng)選用順序存儲結(jié)構(gòu)。因為順序表是隨機存取結(jié)構(gòu),單鏈表是順序存取結(jié)構(gòu)。本題很少進行插入和刪除操作,所以空間變化不大,且需要快速存取,所以應(yīng)選用順序存儲結(jié)構(gòu)。 應(yīng)選用鏈接存儲結(jié)構(gòu)。鏈表容易實現(xiàn)表容量的擴充,適合表的長度動態(tài)發(fā)生變化。 應(yīng)選用鏈接存儲結(jié)構(gòu)。因為一個城市的設(shè)計和規(guī)劃涉及活動很多,需要經(jīng)常修改、擴充和刪除各種信息,才能適應(yīng)不斷發(fā)展的需要。而順序表的插入、刪除的效率低,故不合適。5算法設(shè)計(1) 假設(shè)在長度大于1的循環(huán)鏈表中,即無頭結(jié)點也無頭指針,s

11、為指向鏈表中某個結(jié)點的指針,試編寫算法刪除結(jié)點s的前趨結(jié)點。 第 3 章特殊線性表棧、隊列和串課后習(xí)題講解1. 填空 設(shè)有一個空棧,棧頂指針為1000H,現(xiàn)有輸入序列為1、2、3、4、5, 經(jīng)過push,push,pop,push,pop,push,push后,輸出序列是( ),棧頂指針為( )?!窘獯稹?3,1003H 棧通常采用的兩種存儲結(jié)構(gòu)是( );其判定??盏臈l件分別是( ),判定棧滿的條件分別是( )。【解答】順序存儲結(jié)構(gòu)和鏈接存儲結(jié)構(gòu)(或順序棧和鏈棧),棧頂指針top= -1和top=NULL,棧頂指針top等于數(shù)組的長度和內(nèi)存無可用空間( )可作為實現(xiàn)遞歸函數(shù)調(diào)用的一種數(shù)據(jù)結(jié)構(gòu)。

12、 (?;蛘哧犃羞x一個)【解答】棧 【分析】遞歸函數(shù)的調(diào)用和返回正好符合后進先出性。 棧和隊列是兩種特殊的線性表,棧的操作特性是( ),隊列的操作特性是( ),棧和隊列的主要區(qū)別在于( )。 【解答】后進先出,先進先出,對插入和刪除操作限定的位置不同 循環(huán)隊列的引入是為了克服( )。 【解答】假溢出 數(shù)組Qn用來表示一個循環(huán)隊列,front為隊頭元素的前一個位置,rear為隊尾元素的位置,計算隊列中元素個數(shù)的公式為( )。(rear-front+n)% n2. 選擇題 若一個棧的輸入序列是1,2,3,n,輸出序列的第一個元素是n,則第i個輸出元素是( )。 A 不確定 B n-i C n-i-1

13、 D n-i+1 【解答】D 【分析】此時,輸出序列一定是輸入序列的逆序。 設(shè)棧S和隊列Q的初始狀態(tài)為空,元素e1、e2、e3、e4、e5、e6依次通過棧S,一個元素出棧后即進入隊列Q,若6個元素從隊列輸出的元素的順序是e2、e4、e3、e6、e5、e1,則棧S的容量至少應(yīng)該是( )。 A 6 B 4 C 3 D 2 【解答】C 【分析】由于隊列具有先進先出性,所以,此題中隊列形同虛設(shè),即出棧的順序也是e2、e4、e3、e6、e5、e1。 一個棧的入棧序列是1,2,3,4,5,則棧的不可能的輸出序列是( )。 A 54321 B 45321 C 43512 D 12345 【解答】C 【分析】

14、此題有一個技巧:在輸出序列中任意元素后面不能出現(xiàn)比該元素小并且是升序(指的是元素的序號)的兩個元素。 設(shè)計一個判別表達式中左右括號是否配對的算法,采用( )數(shù)據(jù)結(jié)構(gòu)最佳 A 順序表 B 棧 C 隊列 D 鏈表 【解答】B 【分析】每個右括號與它前面的最后一個沒有匹配的左括號配對,因此具有后進先出性。 在解決計算機主機與打印機之間速度不匹配問題時通常設(shè)置一個打印緩沖區(qū),該緩沖區(qū)應(yīng)該是一個( )結(jié)構(gòu)。 A 棧 B隊列 C 數(shù)組 D線性表 【解答】B【分析】先進入打印緩沖區(qū)的文件先被打印,因此具有先進先出性。 一個隊列的入隊順序是1,2,3,4,則隊列的輸出順序是( )。 A 4321 B 1234

15、 C 1432 D 3241 【解答】B 【分析】隊列的入隊順序和出隊順序總是一致的。 棧和隊列的主要區(qū)別在于( )。 A 它們的邏輯結(jié)構(gòu)不一樣 B 它們的存儲結(jié)構(gòu)不一樣 C 所包含的運算不一樣 D 插入、刪除運算的限定不一樣 【解答】D 設(shè)有兩個串p和q,求q在p中首次出現(xiàn)的位置的運算稱作( )。 A 連接 B 模式匹配 C 求子串 D 求串長 3. 判斷題 ??梢宰鳛閷崿F(xiàn)過程調(diào)用的一種數(shù)據(jù)結(jié)構(gòu)。 在循環(huán)隊列中,front指向隊頭元素的前一個位置,rear指向隊尾元素的位置,則隊滿的條件是front=rear。 【解答】錯。這是隊空的判定條件,在循環(huán)隊列中要將隊空和隊滿的判定條件區(qū)別開。 空

16、串與空格串是相同的。1在一個具有n個單元的順序棧中,假定以地址低端(即下標(biāo)為0的單元)作為棧底,以top作為棧頂指針,當(dāng)出棧時,top的變化為( )。 A 不變 B top=0; C top=top-1; D top=top+1; 【解答】C3從棧頂指針為top的鏈棧中刪除一個結(jié)點,用x保存被刪除結(jié)點的值,則執(zhí)行( )。 A x=top; top=top->next; B x=top->data; C top=top->next; x=top->data; D x=top->data; top=top->next; 【解答】D5.設(shè)S="I_ am

17、_ a_ teacther",其長度為( )。 【解答】156對于棧和隊列,無論它們采用順序存儲結(jié)構(gòu)還是鏈接存儲結(jié)構(gòu),進行插入和刪除操作的時間復(fù)雜度都是( )。 【解答】(1)8簡述隊列和棧這兩種數(shù)據(jù)結(jié)構(gòu)的相同點和不同點。 第 5章 樹和二叉樹課后習(xí)題講解1. 填空題 一棵二叉樹的第i(i1)層最多有( )個結(jié)點;一棵有n(n>0)個結(jié)點的滿二叉樹共有( )個葉子結(jié)點和( )個非終端結(jié)點。 【解答】2i-1,(n+1)/2,(n-1)/2 【分析】設(shè)滿二叉樹中葉子結(jié)點的個數(shù)為n0,度為2的結(jié)點個數(shù)為n2,由于滿二叉樹中不存在度為1的結(jié)點,所以n=n0+n2;由二叉樹的性質(zhì)n0=

18、n2+1,得n0=(n+1)/2,n2=(n-1)/2。 設(shè)高度為h的二叉樹上只有度為0和度為2的結(jié)點,該二叉樹的結(jié)點數(shù)可能達到的最大值是( ),最小值是( )。 【解答】2h -1,2h-1 【分析】最小結(jié)點個數(shù)的情況是第1層有1個結(jié)點,其他層上都只有2個結(jié)點。 具有100個結(jié)點的完全二叉樹的葉子結(jié)點數(shù)為( )?!窘獯稹?0 【分析】100個結(jié)點的完全二叉樹中最后一個結(jié)點的編號為100,其雙親即最后一個分支結(jié)點的編號為50,也就是說,從編號51開始均為葉子。 已知一棵度為3的樹有2個度為1的結(jié)點,3個度為2的結(jié)點,4個度為3的結(jié)點。則該樹中有( )個葉子結(jié)點。 某二叉樹的前序遍歷序列是ABC

19、DEFG,中序遍歷序列是CBDAFGE,則其后序遍歷序列是( )?!窘獯稹緾DBGFEA 【分析】根據(jù)前序遍歷序列和后序遍歷序列將該二叉樹構(gòu)造出來。(10) 在有n個葉子的哈夫曼樹中,葉子結(jié)點總數(shù)為( ),分支結(jié)點總數(shù)為( )。 【解答】n,n-1 【分析】n-1個分支結(jié)點是經(jīng)過n-1次合并后得到的。2. 選擇題 如果結(jié)點A有3個兄弟,B是A的雙親,則結(jié)點B的度是( )。 A 1 B 2 C 3 D 4 【解答】D 二叉樹的前序序列和后序序列正好相反,則該二叉樹一定是( )的二叉樹。 A 空或只有一個結(jié)點 B 高度等于其結(jié)點數(shù) C 任一結(jié)點無左孩子 D 任一結(jié)點無右孩子 【解答】B 【分析】此

20、題注意是序列正好相反,則左斜樹和右斜樹均滿足條件。 線索二叉樹中某結(jié)點R沒有左孩子的充要條件是( )。 A R.lchild=NULL B R.ltag=0 C R.ltag=1 D R.rchild=NULL 【解答】C 【分析】線索二叉樹中某結(jié)點是否有左孩子,不能通過左指針域是否為空來判斷,而要判斷左標(biāo)志是否為1。 一個高度為h的滿二叉樹共有n個結(jié)點,其中有m個葉子結(jié)點,則有( )成立。 A n=h+m B h+m=2n C m=h-1 D n=2m-1 【解答】D 【分析】滿二叉樹中沒有度為1的結(jié)點,所以有m個葉子結(jié)點,則度為2的結(jié)點個數(shù)為m-1(比如葉子為8,則依次往上是4,2,1個節(jié)點,等比數(shù)列個數(shù)為m-1.) 。 設(shè)森林中有4棵樹,樹中結(jié)點的個數(shù)依次為n1、n2、n3、n4,則把森林轉(zhuǎn)換成二叉樹后,其根結(jié)點的右子樹上有( )個結(jié)點,根結(jié)點的左子樹上有( )個結(jié)點。 A n1-1 B n1 C n1+n2+n3 D n2+n3+n4 (10)討論樹、森林和二叉樹的關(guān)系,目的是為了( )。 A 借助二叉樹上的運算方法去實現(xiàn)對樹的一些運算 B 將樹、森林按二叉樹的存儲方式進行存儲并利用二叉樹的算法解決樹的有關(guān)問題 C 將樹、森林轉(zhuǎn)換成二叉樹 D 體現(xiàn)一種技巧,沒有什么實際意義3. 判斷題 在線索二叉樹中,任一結(jié)點均有指向其前趨和后繼的線索。 【解答】錯。某結(jié)

溫馨提示

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

評論

0/150

提交評論