




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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é)點(diǎn)A,若要刪除A的后繼結(jié)點(diǎn)(假設(shè)A存在后繼結(jié)點(diǎn)),則需修改指針的操作為( )。【解答】p-next=(p-next)-next 非空的單循環(huán)鏈表由頭指針head指示,則其尾結(jié)點(diǎn)(由指針p所指)滿足( )。p-next=head 在由尾指針rear指示的單循環(huán)鏈
3、表中,在表尾插入一個結(jié)點(diǎn)s的操作序列是( );刪除開始結(jié)點(diǎn)的操作序列為( )。 【解答】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 隨機(jī)存取 B 順序存取 C 索引存取 D 散列存取 【解答】A,B 【分析】參見2.2.1。 線性表采用鏈接存儲時,其地址( )。 A 必須是連續(xù)的 B 部分地址必須是連續(xù)的 C 一定是不連續(xù)的 D 連續(xù)與否均可以【解
4、答】D 【分析】線性表的鏈接存儲是用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素,這組存儲單元可以連續(xù),也可以不連續(xù),甚至可以零散分布在內(nèi)存中任意位置。 單循環(huán)鏈表的主要優(yōu)點(diǎn)是( )。 A 不再需要頭指針了 B 從表中任一結(jié)點(diǎn)出發(fā)都能掃描到整個鏈表; C 已知某個結(jié)點(diǎn)的位置后,能夠容易找到它的直接前趨; D 在進(jìn)行插入、刪除操作時,能更好地保證鏈表不斷開?!窘獯稹緽 鏈表不具有的特點(diǎn)是( )。 A 可隨機(jī)訪問任一元素 B 插入、刪除不需要移動元素 C 不必事先估計(jì)存儲空間 D 所需空間與線性表長度成正比. 【解答】A 若某線性表中最常用的操作是取第i 個元素和找第i個元素的前趨,則采用( )存儲方法
5、最節(jié)省時間。 A 順序表 B 單鏈表 C 雙鏈表 D 單循環(huán)鏈表 【解答】A 【分析】線性表中最常用的操作是取第i 個元素,所以,應(yīng)選擇隨機(jī)存取結(jié)構(gòu)即順序表,同時在順序表中查找第i個元素的前趨也很方便。單鏈表和單循環(huán)鏈表既不能實(shí)現(xiàn)隨機(jī)存取,查找第i個元素的前趨也不方便,雙鏈表雖然能快速查找第i個元素的前趨,但不能實(shí)現(xiàn)隨機(jī)存取。 使用雙鏈表存儲線性表,其優(yōu)點(diǎn)是可以( )。 A 提高查找速度 B 更方便數(shù)據(jù)的插入和刪除 C 節(jié)約存儲空間 D 很快回收存儲空間 【解答】B 【分析】在鏈表中一般只能進(jìn)行順序查找,所以,雙鏈表并不能提高查找速度,因?yàn)殡p鏈表中有兩個指針域,顯然不能節(jié)約存儲空間,對于動態(tài)存
6、儲分配,回收存儲空間的速度是一樣的。由于雙鏈表具有對稱性,所以,其插入和刪除操作更加方便。 在一個單鏈表中,已知q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的直接前驅(qū),若在q和p之間插入s所指結(jié)點(diǎn),則執(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,本題答案不是非常合理,應(yīng)該換順序更好! 考試可以修改說: 已知q所指結(jié)點(diǎn),在q后面插入一個節(jié)點(diǎn)。 在循環(huán)雙鏈表的p所指結(jié)點(diǎn)后插入s所指結(jié)點(diǎn)的操作是( )。 A p-next=s; s-prior=
7、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=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)的基本特征是:
8、每個元素有且僅有一個直接前驅(qū)和一個直接后繼。 【解答】錯。每個元素最多只有一個直接前驅(qū)和一個直接后繼,第一個元素沒有前驅(qū),最后一個元素沒有后繼。 在單鏈表中,要取得某個元素,只要知道該元素所在結(jié)點(diǎn)的地址即可,因此單鏈表是隨機(jī)存取結(jié)構(gòu)。 【解答】錯。要找到該結(jié)點(diǎn)的地址,必須從頭指針開始查找,所以單鏈表是順序存取結(jié)構(gòu)。4請說明順序表和單鏈表各有何優(yōu)缺點(diǎn),并分析下列情況下,采用何種存儲結(jié)構(gòu)更好些。 若線性表的總長度基本穩(wěn)定,且很少進(jìn)行插入和刪除操作,但要求以最快的速度存取線性表中的元素。 如果n個線性表同時并存,并且在處理過程中各表的長度會動態(tài)發(fā)生變化。 描述一個城市的設(shè)計(jì)和規(guī)劃?!窘獯稹宽樞虮淼膬?yōu)
9、點(diǎn): 無需為表示表中元素之間的邏輯關(guān)系而增加額外的存儲空間; 可以快速地存取表中任一位置的元素(即隨機(jī)存?。m樞虮淼娜秉c(diǎn): 插入和刪除操作需移動大量元素; 表的容量難以確定; 造成存儲空間的“碎片”。 單鏈表的優(yōu)點(diǎn): 不必事先知道線性表的長度; 插入和刪除元素時只需修改指針,不用移動元素。單鏈表的缺點(diǎn): 指針的結(jié)構(gòu)性開銷; 存取表中任意元素不方便,只能進(jìn)行順序存取。 應(yīng)選用順序存儲結(jié)構(gòu)。因?yàn)轫樞虮硎请S機(jī)存取結(jié)構(gòu),單鏈表是順序存取結(jié)構(gòu)。本題很少進(jìn)行插入和刪除操作,所以空間變化不大,且需要快速存取,所以應(yīng)選用順序存儲結(jié)構(gòu)。 應(yīng)選用鏈接存儲結(jié)構(gòu)。鏈表容易實(shí)現(xiàn)表容量的擴(kuò)充,適合表的長度動態(tài)發(fā)生變化。
10、 應(yīng)選用鏈接存儲結(jié)構(gòu)。因?yàn)橐粋€城市的設(shè)計(jì)和規(guī)劃涉及活動很多,需要經(jīng)常修改、擴(kuò)充和刪除各種信息,才能適應(yīng)不斷發(fā)展的需要。而順序表的插入、刪除的效率低,故不合適。5算法設(shè)計(jì)(1) 假設(shè)在長度大于1的循環(huán)鏈表中,即無頭結(jié)點(diǎn)也無頭指針,s為指向鏈表中某個結(jié)點(diǎn)的指針,試編寫算法刪除結(jié)點(diǎn)s的前趨結(jié)點(diǎn)。 第 3 章特殊線性表?xiàng)?、?duì)列和串課后習(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)是( );其判定??盏?/p>
11、條件分別是( ),判定棧滿的條件分別是( )?!窘獯稹宽樞虼鎯Y(jié)構(gòu)和鏈接存儲結(jié)構(gòu)(或順序棧和鏈棧),棧頂指針top= -1和top=NULL,棧頂指針top等于數(shù)組的長度和內(nèi)存無可用空間( )可作為實(shí)現(xiàn)遞歸函數(shù)調(diào)用的一種數(shù)據(jù)結(jié)構(gòu)。 (棧或者隊(duì)列選一個)【解答】棧 【分析】遞歸函數(shù)的調(diào)用和返回正好符合后進(jìn)先出性。 棧和隊(duì)列是兩種特殊的線性表,棧的操作特性是( ),隊(duì)列的操作特性是( ),棧和隊(duì)列的主要區(qū)別在于( )。 【解答】后進(jìn)先出,先進(jìn)先出,對插入和刪除操作限定的位置不同 循環(huán)隊(duì)列的引入是為了克服( )。 【解答】假溢出 數(shù)組Qn用來表示一個循環(huán)隊(duì)列,front為隊(duì)頭元素的前一個位置,rea
12、r為隊(duì)尾元素的位置,計(jì)算隊(duì)列中元素個數(shù)的公式為( )。(rear-front+n)% n2. 選擇題 若一個棧的輸入序列是1,2,3,n,輸出序列的第一個元素是n,則第i個輸出元素是( )。 A 不確定 B n-i C n-i-1 D n-i+1 【解答】D 【分析】此時,輸出序列一定是輸入序列的逆序。 設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1、e2、e3、e4、e5、e6依次通過棧S,一個元素出棧后即進(jìn)入隊(duì)列Q,若6個元素從隊(duì)列輸出的元素的順序是e2、e4、e3、e6、e5、e1,則棧S的容量至少應(yīng)該是( )。 A 6 B 4 C 3 D 2 【解答】C 【分析】由于隊(duì)列具有先進(jìn)先出性,所以,
13、此題中隊(duì)列形同虛設(shè),即出棧的順序也是e2、e4、e3、e6、e5、e1。 一個棧的入棧序列是1,2,3,4,5,則棧的不可能的輸出序列是( )。 A 54321 B 45321 C 43512 D 12345 【解答】C 【分析】此題有一個技巧:在輸出序列中任意元素后面不能出現(xiàn)比該元素小并且是升序(指的是元素的序號)的兩個元素。 設(shè)計(jì)一個判別表達(dá)式中左右括號是否配對的算法,采用( )數(shù)據(jù)結(jié)構(gòu)最佳 A 順序表 B 棧 C 隊(duì)列 D 鏈表 【解答】B 【分析】每個右括號與它前面的最后一個沒有匹配的左括號配對,因此具有后進(jìn)先出性。 在解決計(jì)算機(jī)主機(jī)與打印機(jī)之間速度不匹配問題時通常設(shè)置一個打印緩沖區(qū),
14、該緩沖區(qū)應(yīng)該是一個( )結(jié)構(gòu)。 A 棧 B隊(duì)列 C 數(shù)組 D線性表 【解答】B【分析】先進(jìn)入打印緩沖區(qū)的文件先被打印,因此具有先進(jìn)先出性。 一個隊(duì)列的入隊(duì)順序是1,2,3,4,則隊(duì)列的輸出順序是( )。 A 4321 B 1234 C 1432 D 3241 【解答】B 【分析】隊(duì)列的入隊(duì)順序和出隊(duì)順序總是一致的。 棧和隊(duì)列的主要區(qū)別在于( )。 A 它們的邏輯結(jié)構(gòu)不一樣 B 它們的存儲結(jié)構(gòu)不一樣 C 所包含的運(yùn)算不一樣 D 插入、刪除運(yùn)算的限定不一樣 【解答】D 設(shè)有兩個串p和q,求q在p中首次出現(xiàn)的位置的運(yùn)算稱作( )。 A 連接 B 模式匹配 C 求子串 D 求串長 3. 判斷題 ??梢?/p>
15、作為實(shí)現(xiàn)過程調(diào)用的一種數(shù)據(jù)結(jié)構(gòu)。 在循環(huán)隊(duì)列中,front指向隊(duì)頭元素的前一個位置,rear指向隊(duì)尾元素的位置,則隊(duì)滿的條件是front=rear。 【解答】錯。這是隊(duì)空的判定條件,在循環(huán)隊(duì)列中要將隊(duì)空和隊(duì)滿的判定條件區(qū)別開。 空串與空格串是相同的。1在一個具有n個單元的順序棧中,假定以地址低端(即下標(biāo)為0的單元)作為棧底,以top作為棧頂指針,當(dāng)出棧時,top的變化為( )。 A 不變 B top=0; C top=top-1; D top=top+1; 【解答】C3從棧頂指針為top的鏈棧中刪除一個結(jié)點(diǎn),用x保存被刪除結(jié)點(diǎn)的值,則執(zhí)行( )。 A x=top; top=top-next;
16、B x=top-data; C top=top-next; x=top-data; D x=top-data; top=top-next; 【解答】D5.設(shè)S=I_ am_ a_ teacther,其長度為( )。 【解答】156對于棧和隊(duì)列,無論它們采用順序存儲結(jié)構(gòu)還是鏈接存儲結(jié)構(gòu),進(jìn)行插入和刪除操作的時間復(fù)雜度都是( )。 【解答】(1)8簡述隊(duì)列和棧這兩種數(shù)據(jù)結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn)。 第 5章 樹和二叉樹課后習(xí)題講解1. 填空題 一棵二叉樹的第i(i1)層最多有( )個結(jié)點(diǎn);一棵有n(n0)個結(jié)點(diǎn)的滿二叉樹共有( )個葉子結(jié)點(diǎn)和( )個非終端結(jié)點(diǎn)。 【解答】2i-1,(n+1)/2,(n-
17、1)/2 【分析】設(shè)滿二叉樹中葉子結(jié)點(diǎn)的個數(shù)為n0,度為2的結(jié)點(diǎn)個數(shù)為n2,由于滿二叉樹中不存在度為1的結(jié)點(diǎn),所以n=n0+n2;由二叉樹的性質(zhì)n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。 設(shè)高度為h的二叉樹上只有度為0和度為2的結(jié)點(diǎn),該二叉樹的結(jié)點(diǎn)數(shù)可能達(dá)到的最大值是( ),最小值是( )。 【解答】2h -1,2h-1 【分析】最小結(jié)點(diǎn)個數(shù)的情況是第1層有1個結(jié)點(diǎn),其他層上都只有2個結(jié)點(diǎn)。 具有100個結(jié)點(diǎn)的完全二叉樹的葉子結(jié)點(diǎn)數(shù)為( )?!窘獯稹?0 【分析】100個結(jié)點(diǎn)的完全二叉樹中最后一個結(jié)點(diǎn)的編號為100,其雙親即最后一個分支結(jié)點(diǎn)的編號為50,也就是說,從編號51
18、開始均為葉子。 已知一棵度為3的樹有2個度為1的結(jié)點(diǎn),3個度為2的結(jié)點(diǎn),4個度為3的結(jié)點(diǎn)。則該樹中有( )個葉子結(jié)點(diǎn)。 某二叉樹的前序遍歷序列是ABCDEFG,中序遍歷序列是CBDAFGE,則其后序遍歷序列是( )?!窘獯稹緾DBGFEA 【分析】根據(jù)前序遍歷序列和后序遍歷序列將該二叉樹構(gòu)造出來。(10) 在有n個葉子的哈夫曼樹中,葉子結(jié)點(diǎn)總數(shù)為( ),分支結(jié)點(diǎn)總數(shù)為( )。 【解答】n,n-1 【分析】n-1個分支結(jié)點(diǎn)是經(jīng)過n-1次合并后得到的。2. 選擇題 如果結(jié)點(diǎn)A有3個兄弟,B是A的雙親,則結(jié)點(diǎn)B的度是( )。 A 1 B 2 C 3 D 4 【解答】D 二叉樹的前序序列和后序序列正好
19、相反,則該二叉樹一定是( )的二叉樹。 A 空或只有一個結(jié)點(diǎn) B 高度等于其結(jié)點(diǎn)數(shù) C 任一結(jié)點(diǎn)無左孩子 D 任一結(jié)點(diǎn)無右孩子 【解答】B 【分析】此題注意是序列正好相反,則左斜樹和右斜樹均滿足條件。 線索二叉樹中某結(jié)點(diǎn)R沒有左孩子的充要條件是( )。 A R.lchild=NULL B R.ltag=0 C R.ltag=1 D R.rchild=NULL 【解答】C 【分析】線索二叉樹中某結(jié)點(diǎn)是否有左孩子,不能通過左指針域是否為空來判斷,而要判斷左標(biāo)志是否為1。 一個高度為h的滿二叉樹共有n個結(jié)點(diǎn),其中有m個葉子結(jié)點(diǎn),則有( )成立。 A n=h+m B h+m=2n C m=h-1 D
20、n=2m-1 【解答】D 【分析】滿二叉樹中沒有度為1的結(jié)點(diǎn),所以有m個葉子結(jié)點(diǎn),則度為2的結(jié)點(diǎn)個數(shù)為m-1(比如葉子為8,則依次往上是4,2,1個節(jié)點(diǎn),等比數(shù)列個數(shù)為m-1.) 。 設(shè)森林中有4棵樹,樹中結(jié)點(diǎn)的個數(shù)依次為n1、n2、n3、n4,則把森林轉(zhuǎn)換成二叉樹后,其根結(jié)點(diǎn)的右子樹上有( )個結(jié)點(diǎn),根結(jié)點(diǎn)的左子樹上有( )個結(jié)點(diǎn)。 A n1-1 B n1 C n1+n2+n3 D n2+n3+n4 (10)討論樹、森林和二叉樹的關(guān)系,目的是為了( )。 A 借助二叉樹上的運(yùn)算方法去實(shí)現(xiàn)對樹的一些運(yùn)算 B 將樹、森林按二叉樹的存儲方式進(jìn)行存儲并利用二叉樹的算法解決樹的有關(guān)問題 C 將樹、森林轉(zhuǎn)換成二叉樹 D
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度互聯(lián)網(wǎng)數(shù)據(jù)中心委托經(jīng)營管理協(xié)議
- 二零二五年度醫(yī)院員工招聘與管理服務(wù)合同
- 二零二五年度人工智能聯(lián)營投資合同模板
- 二零二五年度果園承包與農(nóng)業(yè)金融服務(wù)合作協(xié)議
- 2025年度沿街房屋租賃合同(含房屋維護(hù)及保養(yǎng)責(zé)任)
- 二零二五年度金融行業(yè)競業(yè)禁止協(xié)議補(bǔ)償金計(jì)算細(xì)則
- 二零二五年度精裝修房屋租賃協(xié)議書
- 二零二五年度主合同與從合同在新能源汽車產(chǎn)業(yè)鏈中的協(xié)同發(fā)展及風(fēng)險(xiǎn)共擔(dān)協(xié)議
- 二零二五年度文化產(chǎn)業(yè)股權(quán)投資合同協(xié)議
- 2025年度苗木種植與生態(tài)農(nóng)業(yè)開發(fā)協(xié)議
- 產(chǎn)品品質(zhì)檢驗(yàn)流程標(biāo)準(zhǔn)規(guī)范模板()
- DB12-595-2015醫(yī)院安全防范系統(tǒng)技術(shù)規(guī)范
- 五年級下冊英語課件-Unit 2 My favourite season B Let's learn 人教PEP版(共15張PPT)
- GB∕T 7260.40-2020 不間斷電源系統(tǒng) UPS 第4部分:環(huán)境 要求及報(bào)告
- 高邊坡施工危險(xiǎn)源辨識及分析
- 水廠項(xiàng)目基于BIM技術(shù)全生命周期解決方案-城市智慧水務(wù)講座課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 三年級學(xué)而思奧數(shù)講義.doc
- 劉姥姥進(jìn)大觀園課本劇劇本3篇
- 產(chǎn)品承認(rèn)書客(精)
- 投標(biāo)人基本情況一覽表格
評論
0/150
提交評論