版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章1. 怎樣理解“算法+數(shù)據(jù)結(jié)構(gòu)=程序”這個(gè)公式?舉例說(shuō)明。算法是語(yǔ)句序列解決特定問(wèn)題的固有程序片段。數(shù)據(jù)結(jié)構(gòu)是確定數(shù)據(jù)間的關(guān)系。從具體問(wèn)題抽象出一個(gè)合適的數(shù)學(xué)模型、然后設(shè)計(jì)一個(gè)解決此數(shù)學(xué)模型的算法,最后編寫(xiě)出程序。尋求數(shù)學(xué)模型的是指就是數(shù)據(jù)結(jié)構(gòu)要完成的工作。參看書(shū)p1前兩段的描述。2. 數(shù)據(jù)結(jié)構(gòu)的概念,它包含哪三方面的內(nèi)容?數(shù)據(jù)結(jié)構(gòu):是一門(mén)研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象以及它們之間餓關(guān)系和操作的學(xué)科。參看書(shū)p3包含三方面的內(nèi)容:1、數(shù)據(jù)之間的邏輯關(guān)系2、數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)方式3、在數(shù)據(jù)上定義的運(yùn)算的集合。3. 數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)的基本概念。舉例說(shuō)明數(shù)據(jù)元素和數(shù)據(jù)項(xiàng)的
2、聯(lián)系與區(qū)別。數(shù)據(jù):描述客觀事物的數(shù)字、字符以及所有能直接輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序處理的符號(hào)的集合。數(shù)據(jù)元素:數(shù)據(jù)的基本單位,在計(jì)算機(jī)程序中通常作為一個(gè)整體進(jìn)行考慮或處理。數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)是具有獨(dú)立含義的最小標(biāo)識(shí)單位,是數(shù)據(jù)元的一個(gè)具體值,是數(shù)據(jù)記錄中最基本的、不可分的有名數(shù)據(jù)單位。例1: class Aint c123;int i;class BA a;B b;b.a是數(shù)據(jù)項(xiàng),B是數(shù)據(jù)元素例2:一本書(shū)的數(shù)目信息為一個(gè)數(shù)據(jù)元素,而數(shù)目信息中每一項(xiàng)(如書(shū)名、作者名等)為一個(gè)數(shù)據(jù)項(xiàng)4. 從邏輯結(jié)構(gòu)來(lái)看,數(shù)據(jù)結(jié)構(gòu)有哪四種基本結(jié)構(gòu),各自的特點(diǎn)是什么?1、集合(數(shù)據(jù)元素之間同屬于一個(gè)集合,再無(wú)其他關(guān)系)
3、2、線性結(jié)構(gòu)(數(shù)據(jù)元素之間存在一對(duì)一的關(guān)系)3、樹(shù)形結(jié)構(gòu)(數(shù)據(jù)元素之間一對(duì)多的關(guān)系)4、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)(數(shù)據(jù)元素之間多對(duì)多的關(guān)系)5. 從物理結(jié)構(gòu)來(lái)看,數(shù)據(jù)結(jié)構(gòu)有哪兩種基本結(jié)構(gòu),各自的特點(diǎn)是什么? 1、順序存儲(chǔ)結(jié)構(gòu)特點(diǎn):借助元素在存儲(chǔ)器中的相應(yīng)位置來(lái)表示數(shù)據(jù)元素之間的邏輯關(guān)系。 2、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 特定:借助元素在存儲(chǔ)地址的指針表示數(shù)據(jù)元素之間的邏輯關(guān)系。6. 算法的5個(gè)特征,4個(gè)評(píng)價(jià)標(biāo)準(zhǔn)是什么?特征:有窮性、確定性、可行性、輸入、輸出。評(píng)價(jià)標(biāo)準(zhǔn):正確性、可讀性、健壯性、效率與低存儲(chǔ)量需求。7. 描述時(shí)間復(fù)雜度。(1) x=0; y=0; z=0;for (i=1; i<=n
4、; i+) x+; for( j=1; j<=n; j+) y+; for( k=0; k<=(2*n); k+ ) z+;
5、 程序片段中語(yǔ)句x=0、x+、 y+、z+的時(shí)間復(fù)雜度和整段程序的時(shí)間復(fù)雜度。O(1)O(n)O(n2)O(n3)O(n3)第二章 線性表1. 描述線性結(jié)構(gòu)的特點(diǎn)。2. 判斷對(duì)錯(cuò),并解釋說(shuō)明。(1)線性表中的數(shù)據(jù)元素可以是各種各樣的,但同一線性表中的元素一定具有相同特性。P(2)線性表采用順序存儲(chǔ)表示時(shí),必須占用一片連續(xù)的存儲(chǔ)單元。P(3)線性表采用鏈?zhǔn)酱鎯?chǔ)表示時(shí),不能占用一片連續(xù)的存儲(chǔ)單元。O3. 順序表的第一個(gè)元素的存儲(chǔ)地址是101,每個(gè)元素的長(zhǎng)度為3,計(jì)算出第6個(gè)元素的存儲(chǔ)地址是多少?LOC(a6)=LOC(a1)+5*L=101+5*3
6、=1164. 長(zhǎng)度為n的順序表中,在第i個(gè)元素前插入一個(gè)新元素時(shí),需要移動(dòng)多少個(gè)元素?插入算法的平均移動(dòng)次數(shù)是多少,時(shí)間復(fù)雜度是什么?參看書(shū)P2425,需要移動(dòng)n-i+1個(gè)元素,平均移動(dòng)次數(shù)為n/2,時(shí)間復(fù)雜度是O(n)5. 長(zhǎng)度為n的順序表中,將第i個(gè)元素刪除時(shí),需要移動(dòng)多少個(gè)元素?刪除算法的平均移動(dòng)次數(shù)是多少,時(shí)間復(fù)雜度是什么?參看書(shū)P2425,需要移動(dòng)n-i個(gè)元素,平均移動(dòng)次數(shù)為(n-1)/2,時(shí)間復(fù)雜度是O(n)6.線性鏈表的存儲(chǔ)特點(diǎn)是?單鏈表中的結(jié)點(diǎn)由哪兩部分構(gòu)成,畫(huà)圖說(shuō)明。7. 在一個(gè)單鏈表中,q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的直接前驅(qū)結(jié)點(diǎn),若在q與p之間插入一個(gè)s所指的結(jié)點(diǎn),寫(xiě)出執(zhí)行的兩條
7、語(yǔ)句(提示:先鏈接、后斷開(kāi))。s->next=p; q->next=s; 或者s->next=q->next; q->next=s;8. 在單鏈表中,w所指結(jié)點(diǎn)是s所指結(jié)點(diǎn)的直接前驅(qū)結(jié)點(diǎn)刪除s結(jié)點(diǎn),寫(xiě)出執(zhí)行的兩條語(yǔ)句。w->next=s->next;free(s)9. 畫(huà)圖說(shuō)明單循環(huán)鏈表為空的狀態(tài),并寫(xiě)出循環(huán)鏈表判斷是否為空的語(yǔ)句。參看書(shū)P35圖2.12(b) 判空語(yǔ)句H->next=H10. 雙向鏈表中,要在指針q指向的結(jié)點(diǎn)后插入新結(jié)點(diǎn)t,寫(xiě)出執(zhí)行的四條語(yǔ)句。t->prior=q ; t->next=q->next ; q-&
8、gt;next=t ; t->next->prior=s11. 雙向鏈表中,要?jiǎng)h除指針q的后繼結(jié)點(diǎn),寫(xiě)出執(zhí)行的兩條語(yǔ)句。T=q->next ; q->next=t->next ; free(t); 或者t=q->next;q->next-q->next->next; free(t)第三章 棧和隊(duì)列1. 判斷對(duì)錯(cuò)(1)棧和隊(duì)列是操作受限的線性表。P(2)棧的插入操作只需要在表尾端進(jìn)行,隊(duì)列的插入操作只需要在表頭進(jìn)行。O(3)棧的操作只和棧頂指針TOP相關(guān),隊(duì)列的操作只和隊(duì)頭指針FRONT相關(guān)。O2. 棧的特點(diǎn)是?隊(duì)列的特點(diǎn)是?(先進(jìn)先出、先進(jìn)
9、后出中選擇)棧的特點(diǎn)是先進(jìn)后出(FILO)隊(duì)列的特點(diǎn)是先進(jìn)先出(FIFO)3. 用文字描述算法。(參照我寫(xiě)的(1)的算法描述完成)(1)順序存儲(chǔ)的棧插入操作算法描述:(2)順序棧的刪除操作算法描述:第一步,判斷棧是否為空,如果??眨荒苓M(jìn)行刪除操作;第二步,棧不空的時(shí)候,棧頂指針TOP減1,向下移動(dòng)一位;第三步,將要?jiǎng)h除的棧頂元素用新變量保存;第三步,棧頂指針TOP加1(3)鏈?zhǔn)酱鎯?chǔ)的隊(duì)列的插入操作算法描述:第一步,利用指針創(chuàng)建新結(jié)點(diǎn),新節(jié)點(diǎn)的數(shù)據(jù)域值為要入隊(duì)列的元素,新結(jié)點(diǎn)的指針域復(fù)制為NULL;第二步,將鏈隊(duì)列的尾節(jié)點(diǎn)鏈接上新結(jié)點(diǎn);第三步,修改鏈隊(duì)列的尾指針的指向,讓它指向新結(jié)點(diǎn);(4)鏈
10、棧的刪除操作算法描述:第一步,利用指針創(chuàng)建新結(jié)點(diǎn),新節(jié)點(diǎn)的數(shù)據(jù)域值為要入棧的元素,新結(jié)點(diǎn)的指針域復(fù)制為NULL;第二步,新結(jié)點(diǎn)的指針域指向鏈棧的頭結(jié)點(diǎn);第三步,修改鏈棧的頭指針TOP的指向,讓它指向新結(jié)點(diǎn);4. 假設(shè)棧為S,寫(xiě)出判斷語(yǔ)句typedef struct sqstack int datamax; int top;sqstack ;sqstack *s;(1)順序棧為空的條件判斷語(yǔ)句 s->top= =0(2)順序棧為滿(mǎn)的條件判斷語(yǔ)句 s->top = =max5. 假設(shè)隊(duì)列為Q,寫(xiě)出判斷語(yǔ)句typedef struct SqQueue int dataMAX; int f
11、ront; int rear; /*定義隊(duì)頭指針Front 和隊(duì)尾指針Rear*/ ;SqQueue *Q(1)循環(huán)隊(duì)列為空的條件判斷語(yǔ)句 Q->rear= =Q->front(2)循環(huán)隊(duì)列為滿(mǎn)的條件判斷語(yǔ)句 (Q->rear+1)%MAX= =Q->front6. 總結(jié)說(shuō)明,線性表的順序存儲(chǔ)與鏈?zhǔn)酱鎯?chǔ)的區(qū)別?參看書(shū)P27第一段第六章 樹(shù)和二叉樹(shù)1. 一棵二叉樹(shù)的廣義表表示為a(b(c,d),e(f(,g),它含有雙親結(jié)點(diǎn)(4)個(gè),單分支結(jié)點(diǎn)(2)個(gè),葉子結(jié)點(diǎn)( 3)個(gè)。二叉樹(shù)根為a;a有左孩子b,右孩子e;b有左孩子c,右孩子d;e只有左孩子f,f只有右孩子g2. 判
12、斷對(duì)錯(cuò)(1) 在樹(shù)中,如果從結(jié)點(diǎn)K出發(fā),存在兩條分別到達(dá)K,K的長(zhǎng)度相等的路徑,則結(jié)點(diǎn)K,K互為兄弟。O,還可能是堂兄結(jié)點(diǎn)(2) 完全二叉樹(shù)的某結(jié)點(diǎn)若無(wú)左孩子,則必是葉結(jié)點(diǎn)。P,由完全二叉樹(shù)的性質(zhì)決定(3) 一棵完全二叉樹(shù)按層次遍歷的序列為,則在后序遍歷中結(jié)點(diǎn)的直接后繼是。P由于是完全二叉樹(shù),所以樹(shù)中第一層是A ,第二層從左向右是B和C,第三層是D、E、F、G,第四層從左向右是H和I。畫(huà)出二叉樹(shù),進(jìn)行后序遍歷,后序遍歷序列為HIDEBFGCA。(4) 二叉樹(shù)的后序遍歷序列中,任意一個(gè)結(jié)點(diǎn)均處在其子樹(shù)結(jié)點(diǎn)的后面。P后序遍歷算法決定的,左、右、根(5) 由二叉樹(shù)結(jié)點(diǎn)的先根序列和后根序列可以唯一地確
13、定一棵二叉樹(shù)。O不唯一,因?yàn)橹挥性谥行虮闅v中才能劃分左右子樹(shù)(6) 樹(shù)存儲(chǔ)時(shí)采用雙親表示法時(shí),求某個(gè)結(jié)點(diǎn)的孩子時(shí)需要遍歷整個(gè)結(jié)構(gòu)。P(7) 一棵有n(n1)個(gè)結(jié)點(diǎn)的d叉樹(shù),若用多重鏈表表示,樹(shù)中每個(gè)結(jié)點(diǎn)都有d個(gè)鏈域,則在樹(shù)的nd個(gè)鏈域中,有n(d-1)+1個(gè)是空鏈域,只有n-1個(gè)是非空鏈域。P根據(jù)樹(shù)的特性:一對(duì)多,每個(gè)結(jié)點(diǎn)都有且僅有一個(gè)雙親結(jié)點(diǎn),除了根結(jié)點(diǎn)外。因此,n個(gè)結(jié)點(diǎn)的樹(shù)中有n-1個(gè)結(jié)點(diǎn)都有且僅有一個(gè)雙親,這個(gè)關(guān)系表示在鏈?zhǔn)酱鎯?chǔ)里就一定會(huì)占用它雙親的一個(gè)指針域,所以樹(shù)中一定有n-1個(gè)非空指針域,多叉樹(shù)也適用。(8) 在一棵二叉樹(shù)的二叉鏈表中,空指針域數(shù)等于非空指針域數(shù)加2。P解:二叉鏈表
14、中有n個(gè)結(jié)點(diǎn)時(shí),一定存在2n個(gè)指針域,n+1個(gè)空鏈域,則非空鏈域?yàn)閚-1個(gè),所以,空鏈域=非空鏈域+2(9) 樹(shù)的后根遍歷序列等同于該樹(shù)對(duì)應(yīng)的二叉樹(shù)的中序遍歷。P,參看書(shū)P138筆記(10)樹(shù)利用孩子兄弟表示法轉(zhuǎn)換后的二叉樹(shù)中根結(jié)點(diǎn)一定不存在右子樹(shù)。P,參看書(shū)P137頁(yè)最后一句話(huà)3. 二叉樹(shù)根結(jié)點(diǎn)的層次為1,所有含有15個(gè)結(jié)點(diǎn)的二叉樹(shù)中,最小高度是( 4 )。要想得出最小高度,必須是完全二叉樹(shù)才能保證,因此這個(gè)題目考核的是有15個(gè)結(jié)點(diǎn)的完全二叉樹(shù)的高度是?參看二叉樹(shù)性質(zhì)4,即可得出4. 設(shè)一棵二叉樹(shù)結(jié)點(diǎn)的先根序列為ABDECFGH,中根序列為DEBAFCHG,則二叉樹(shù)中葉子結(jié)點(diǎn)是( E F H
15、 )。參看書(shū)P154例題5. 樹(shù)的存儲(chǔ)結(jié)構(gòu)有幾種?分別是?二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)有幾種,分別是?樹(shù)的存儲(chǔ)結(jié)構(gòu)有三種:雙親表示法、孩子表示法、孩子兄弟表示法二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)有兩:順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)(又叫二叉鏈表的表示法)在一棵二叉樹(shù)的二叉鏈表中,空指針域數(shù)等于非空指針域數(shù)加( 2 )。6. 若二叉樹(shù)有7個(gè)度為2的結(jié)點(diǎn),試問(wèn)有?個(gè)終端結(jié)點(diǎn)。由二叉樹(shù)的性質(zhì)3得出,n0=n2+1,所以度為1的終端結(jié)點(diǎn)有7+1=8個(gè)7. 一棵有124個(gè)葉結(jié)點(diǎn)的完全二叉樹(shù),最多有?個(gè)結(jié)點(diǎn)。首先,由二叉樹(shù)的性質(zhì)3得出,度為2的結(jié)點(diǎn)個(gè)數(shù)為124-1=123個(gè);又根據(jù)二叉樹(shù)的定義可以得出這樣的結(jié)論:完全二叉樹(shù)的前n-1層8. 一棵完
16、全二叉樹(shù)上有1001個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)的個(gè)數(shù)是?500解:設(shè)分支總數(shù)變量為b,則n=b+1,得出分支數(shù)為1000。分支數(shù)是偶數(shù),所以不存在度為1的結(jié)點(diǎn),只有度為2的結(jié)點(diǎn)和葉子結(jié)點(diǎn)。根據(jù)性質(zhì)3,n0=n2+1,所以1001= n0+n2= 2*n0+1。n0=500。9. w=4,5,6,7,8,如何構(gòu)建哈夫曼樹(shù)?第9章 查找1. 查找表的概念?這是四種經(jīng)典數(shù)據(jù)結(jié)構(gòu)中的哪一種?2. 靜態(tài)查找和動(dòng)態(tài)查找有什么聯(lián)系和區(qū)別?3. 查找表中的關(guān)鍵字是數(shù)據(jù)元素還是數(shù)據(jù)項(xiàng),有什么特點(diǎn)?4. ASL表示什么?寫(xiě)出計(jì)算的公式,并解釋公式中每個(gè)變量的含義。5. 描述順序查找的算法思想(用漢字描述,不是代碼)6. 描述折半查找的算法思想。7. 給定由以下元素組成的關(guān)鍵字序列(55,46,89,13,24,67,23,15),將他們存儲(chǔ)在數(shù)組的第1位至第8
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江西省建筑安全員考試題庫(kù)附答案
- 《急救護(hù)理困擾》課件
- 《護(hù)理教育學(xué)輔導(dǎo)》課件
- 【大學(xué)課件】土木工程概論 土木工程材料
- 高端裝備數(shù)字化智能工廠項(xiàng)目可行性研究報(bào)告寫(xiě)作模板-備案審批
- 《莫言英文簡(jiǎn)介》課件
- 單位人力資源管理制度匯編大全十篇
- 甘肅省武威市涼州區(qū)2024-2025學(xué)年高一上學(xué)期期末考試歷史試卷(含答案)
- 循環(huán)經(jīng)濟(jì)產(chǎn)業(yè)園雨污分流改造及再生水回用項(xiàng)目可行性研究報(bào)告寫(xiě)作模板-備案審批
- 單位管理制度收錄大合集【職工管理篇】
- DB14-T 2730-2023 產(chǎn)后康復(fù)管理師等級(jí)劃分與評(píng)定
- 《預(yù)防流感》主題班會(huì)教案3篇
- 湖南省炎德英才大聯(lián)考2025屆高二數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 中等職業(yè)學(xué)?!稒C(jī)械制造工藝基礎(chǔ)》課程標(biāo)準(zhǔn)
- DBJ33T 1312-2024 工程渣土再生填料道路路基技術(shù)規(guī)程
- 高級(jí)流行病學(xué)與醫(yī)學(xué)統(tǒng)計(jì)學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 服務(wù)開(kāi)口合同模板
- 2024年200MW-400MWh電化學(xué)儲(chǔ)能電站設(shè)計(jì)方案
- 2024數(shù)據(jù)采集合同模板
- SH/T 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)(正式版)
- (正式版)JBT 7248-2024 閥門(mén)用低溫鋼鑄件技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論