復(fù)習(xí)題1[共12頁]

上傳人:gfy****yf 文檔編號:40075724 上傳時間:2021-11-13 格式:DOC 頁數(shù):12 大?。?44.51KB
收藏 版權(quán)申訴 舉報(bào) 下載
復(fù)習(xí)題1[共12頁]_第1頁
第1頁 / 共12頁
復(fù)習(xí)題1[共12頁]_第2頁
第2頁 / 共12頁
復(fù)習(xí)題1[共12頁]_第3頁
第3頁 / 共12頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《復(fù)習(xí)題1[共12頁]》由會員分享,可在線閱讀,更多相關(guān)《復(fù)習(xí)題1[共12頁](12頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、一、選擇題 1-1 下列關(guān)于數(shù)據(jù)和邏輯結(jié)構(gòu)的敘述中,哪一個是不正確的( )。 A ) 數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的描述 B) 數(shù)據(jù)的邏輯結(jié)構(gòu)抽象反映數(shù)據(jù)元素間的邏輯關(guān)系 C) 數(shù)據(jù)的邏輯結(jié)構(gòu)具體反映數(shù)據(jù)在計(jì)算機(jī)中的存儲方式 D) 數(shù)據(jù)的邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu) C1-2 以下關(guān)于數(shù)據(jù)的存儲結(jié)構(gòu)的敘述中哪一條是正確的( )。 A) 數(shù)據(jù)的存儲結(jié)構(gòu)是數(shù)據(jù)間關(guān)系的抽象描述 B) 數(shù)據(jù)的存儲結(jié)構(gòu)是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲器中的實(shí)現(xiàn) C) 數(shù)據(jù)的存儲結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu) D) 數(shù)據(jù)的存儲結(jié)構(gòu)對數(shù)據(jù)運(yùn)算的具體實(shí)現(xiàn)沒有影響 B 二、簡答題 1-1 數(shù)據(jù)結(jié)構(gòu)的存儲方式有哪幾種? 1-2 算法的時間

2、復(fù)雜度僅與問題的規(guī)模相關(guān)嗎 ? 1-1 數(shù)據(jù)結(jié)構(gòu)的存儲方式有哪幾種? 【解析】 常用的存儲表示方法有四種 : 1 、順序存儲方法:它是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置相鄰的存儲單元里,結(jié)點(diǎn)間的邏輯關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。由此得到的存儲表示稱為順序存儲結(jié)構(gòu),通常借助程序語言的數(shù)組描述。 2 、鏈接存儲方法:它不要求邏輯上相鄰的結(jié)點(diǎn)在物理位置上亦相鄰,結(jié)點(diǎn)間的邏輯關(guān)系是由附加的指針字段表示。由此得到的存儲表示稱為鏈?zhǔn)酱鎯Y(jié)構(gòu) , 通常借助于程序語言的指針類型描述。 3 、索引存儲方法:除建立存儲結(jié)點(diǎn)信息外,還建立附加的索引表來標(biāo)識結(jié)點(diǎn)的地址。組成索引表的索引項(xiàng)由結(jié)點(diǎn)的關(guān)鍵字和地址組成。若每

3、個結(jié)點(diǎn)在索引表中都有一個索引項(xiàng),則該索引表稱之為稠密索引( Dense Index )。若一組結(jié)點(diǎn)在索引表中只對應(yīng)一個索引項(xiàng),則該索引表稱為稀疏索引。 4 、散列存儲方法:就是根據(jù)結(jié)點(diǎn)的關(guān)鍵字直接計(jì)算出該結(jié)點(diǎn)的存儲地址。 1-2 算法的時間復(fù)雜度僅與問題的規(guī)模相關(guān)嗎 ? 【解析】 算法的時間復(fù)雜度不僅與問題的規(guī)模相關(guān),還與輸入實(shí)例中的初始狀態(tài)有關(guān)。但在最壞的情況下,其時間復(fù)雜度就是只與求解問題的規(guī)模相關(guān)的。我們在討論時間復(fù)雜度時,一般就是以最壞情況下的時間復(fù)雜度為準(zhǔn)的。 三、應(yīng)用題: 分析以下程序段的時間復(fù)雜度。 int i , j , k ; for ( i=0 ; i n ; i+ / f

4、or ( j=0 ; j n ; j+ / cij=0 ; / for ( k=0 ; k n ; k+ / cij=cij+aik+bkj ; / 【解析】 語句的循環(huán)控制變量 i 要增加到 n ,測試到 i=n 成立才會終止,故它的頻度為 n+1 ; 語句作為語句循環(huán)體內(nèi)的語句應(yīng)該執(zhí)行 n 次,但語句本身要執(zhí)行 n+1 次,故語句的頻度是 n ( n+1 ); 同理可得語句、和的頻度分別是 n 2 , n 2 ( n+1 )和 n 3 。該程序段所有語句的頻度之和為: T ( n ) =2n3 +3n 2 +2n+1 其復(fù)雜度為 O ( n 3 )。 一、簡答1 何時選用順序表、何時選用鏈

5、表作為線性表的存儲結(jié)構(gòu)為宜? 2 在順序表中插入和刪除一個結(jié)點(diǎn)需平均移動多少個結(jié)點(diǎn)?具體的移動次數(shù)取決于哪兩個因素? 3 為什么在單循環(huán)鏈表中設(shè)置尾指針比設(shè)置頭指針更好? 4 在單鏈表、雙鏈表和單循環(huán)鏈表中,若僅知道指針p指向某結(jié)點(diǎn),不知道頭指針,能否將結(jié)點(diǎn)*p從相應(yīng)的鏈表中刪去?若可以,其時間復(fù)雜度各為多少? 5 下述算法的功能是什么?LinkList Demo(LinkList L) / L 是無頭結(jié)點(diǎn)單鏈表 ListNode *Q,*P; if(L&L-next) Q=L;L=L-next;P=L; while (P-next) P=P-next; P-next=Q; Q-next=NU

6、LL; return L; / Demo 6、試描述頭指針、頭結(jié)點(diǎn)、開始結(jié)點(diǎn)的區(qū)別、并說明頭指針和頭結(jié)點(diǎn)的作用。二、下列函數(shù)的功能是,對以帶頭結(jié)點(diǎn)的單鏈表作為存儲結(jié)構(gòu)的兩個遞增有序表(表中不存在值相同的數(shù)據(jù)元素)進(jìn)行如下操作:將所有在Lb表中存在而La表中不存在的結(jié)點(diǎn)插入到La中,其中La和Lb分別為兩個鏈表的頭指針。請?jiān)诳杖碧幪钊牒线m內(nèi)容,使其成為一個完整的算法。void union (LinkList La, LinkList Lb)/*本算法的功能是將所有Lb表中存在而La表中不存在的結(jié)點(diǎn)插入到La表中*/ LinkList pre = La, q; LinkList pa = La -

7、 next; LinkList pb = Lb - next; free (Lb); while (pa & pb)if (pa - data data) pre = pa; pa = pa - next;else if (pa - data pb -data) (1) ;pre = pb;pb = pb - next; (2) ;else q = pb; pb = pb - next; free (q);if (pb) (3) ;(1)pre-next=pb;(2)pre-next=pa;(3)pre-next=pb;三、已知一個線性表有n(n30)個元素,其中每個元素的數(shù)據(jù)占8個字節(jié)。假設(shè)

8、一個指針的大小為4個字節(jié)。如果采用有30個元素的數(shù)組存儲,那么當(dāng)數(shù)組中有效元素個數(shù)n滿足什么條件時,數(shù)組的存儲效率比不帶頭結(jié)點(diǎn)的單鏈表更高。數(shù)組總的空間240個字節(jié),數(shù)組的效率為8n/240;鏈表的總空間為12n,效率為8n/12n。故可得:n20四、畫出執(zhí)行下列各語句后各指針及鏈表的示意圖。L=(LinkList)malloc(sizeof(Lnode);P=L;for(i=1;inext=(LinkList) malloc(sizeof(Lnode); p=p-next;P-data=i*2-1;P-next=NULL;for(i=4;i=1;i-) InsertList (L,i+1,i

9、*2);for(i=1;i0)個結(jié)點(diǎn)的滿二叉樹共有 個葉子結(jié)點(diǎn)和 個非葉子結(jié)點(diǎn)。1、 (1)每個結(jié)點(diǎn)最多有兩棵子樹; (2)子樹有左右之分2、2k-1,2k-1,3、2i-1, 2 log2n , n- 2 log2n 1、一棵度為2的樹與一棵二叉樹有何區(qū)別?2、具有三個結(jié)點(diǎn)的樹和具有三個結(jié)點(diǎn)的二叉樹它們的所有不同形態(tài)有哪些?3、請說明一棵二叉樹進(jìn)行先序、中序和后序遍歷,其葉結(jié)點(diǎn)的次序是否會發(fā)生變化?為什么?1、解答:度為2的樹結(jié)點(diǎn)有兩個分支,沒有左右之分;一棵二叉樹的結(jié)點(diǎn)也可有兩個分支,但有左右之分,且左右不能交換。3.解答:二叉樹中葉結(jié)點(diǎn)必在某結(jié)點(diǎn)的左或右子樹中,三種遍歷方法對左右子樹的遍

10、歷都是按先左后右的原則進(jìn)行。所以在三種遍歷序列中葉結(jié)點(diǎn)的相對次序是不會發(fā)生變化的。4、假設(shè)一棵二叉樹的結(jié)點(diǎn)數(shù)為33個,則它的最小高度為( ),最大高度為( )。5、一個高度為h的滿m叉樹,第k層最多有( )個結(jié)點(diǎn),整棵樹最多有( )個結(jié)點(diǎn)。4、最小高度為:6,最大高度為:335、第k層最多有 mk-1,整棵樹最多有(mk-1)/(m- 1)6、一個二叉樹的對稱序列和后序序列分別是DCBAEFG和DCBGFEA,請給出該二叉樹的前序序列。 6、ABCDEFG7 有7個帶權(quán)結(jié)點(diǎn),其權(quán)值分別為4,7,8,2,5,16,30,以它們?yōu)槿~子結(jié)點(diǎn)構(gòu)造一顆哈夫曼樹(要求按每個結(jié)點(diǎn)的左子樹根結(jié)點(diǎn)的權(quán)值小于或等

11、于右子樹根結(jié)點(diǎn)的權(quán)值的次序構(gòu)造),并計(jì)算出其帶權(quán)路徑長度WPL??傻脦?quán)路徑長度:WPL=(2+4)5+(5+7+8)4+162+301=1721、一個n個頂點(diǎn)的無向圖最多有 條邊。(A)n (B)n(n-1) (C)n(n-1)/2 (D)2n2、(A)1/2 (B)1 (C)2 (D)43.兩種遍歷算法。1、設(shè)線性表(a1,a2,a500)元素的值由小到大排列,對一個給定的k值用折半法查找線性表,在查找不成功的情況下至多需比較 次 1. log2n+12 試述順序查找法、折半查找法和分塊查找法對被查找的表中元素的要求。對長度為n的表來說,三種查找法在查找成功時的查找長度各是多少?查找要求:

12、順序查找法:表中元素可以任意存放,(n+1)/2 折半查找法:有序存放 log2(n+1)-1分塊查找法:分塊有序(n/s+s)/2+1,b為塊數(shù),s為塊中記錄數(shù)1.數(shù)據(jù)的基本單位是(C)A.數(shù)據(jù)項(xiàng) B.數(shù)據(jù)類型 C.數(shù)據(jù)元素 D.數(shù)據(jù)變量2.下列程序的時間復(fù)雜度為(C)i=0;s=0;while(sn) i+;s=s+i; A.O( ) B.O( ) C.O(n) D.O(n2)3.若某線性表中最常用的操作是在最后一個元素之后插入一個元素和刪除第一個元素,則最節(jié)省運(yùn)算時間的存儲方式是(D)A.單鏈表 B.僅有頭指針的單循環(huán)鏈表C.雙鏈表 D.僅有尾指針的單循環(huán)鏈表4.從一個長度為n的順序表中

13、刪除第i個元素(1in)時,需向前移動的元素的個數(shù)是(A)A.n-i B.n-i+1C.n-i-1 D.i5.順序棧S中top為棧頂指針,指向棧頂元素所在的位置,elem為存放棧的數(shù)組,則元素e進(jìn)棧操作的主要語句為(C)A.s.elemtop=e; B.s.elemtop+1=e; s.top=s.top+1; s.top=s.top+1;C.s.top=s.top+1; D.s.top=s.top+1; s.elemtop+1=e; s.elemtop=e;6.循環(huán)隊(duì)列sq中,用數(shù)組elem025存放數(shù)據(jù)元素,sq.front指示隊(duì)頭元素的前一個位置,sq.rear指示隊(duì)尾元素的當(dāng)前位置,設(shè)

14、當(dāng)前sq.front為20,sq.rear為12,則當(dāng)前隊(duì)列中的元素個數(shù)為(D)A.8 B.16 C.17 D.188.含有10個結(jié)點(diǎn)的二叉樹中,度為0的結(jié)點(diǎn)數(shù)為4,則度為2的結(jié)點(diǎn)數(shù)為(A) A.3 B.4C.5 D.610.有n個結(jié)點(diǎn)的有向完全圖的弧數(shù)是(C)A.n2 B.2nC.n(n-1) D.2n(n+1)11.設(shè)圖的鄰接鏈表如題12圖所示,則該圖的邊的數(shù)目是(B) A.4 B.5 C.10 D.2012.已知一個有序表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)二分檢索值為90的元素時,檢索成功需比較的次數(shù)是(B)A.1 B.2C.3 D.413.排

15、序算法中,第一趟排序后,任一元素都不能確定其最終位置的算法是()A.選擇排序 B.快速排序C.冒泡排序 D.插入排序14數(shù)據(jù)結(jié)構(gòu)是(D)A一種數(shù)據(jù)類型B數(shù)據(jù)的存儲結(jié)構(gòu)C一組性質(zhì)相同的數(shù)據(jù)元素的集合D相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合15算法分析的目的是(B)A辨別數(shù)據(jù)結(jié)構(gòu)的合理性B評價算法的效率C研究算法中輸入與輸出的關(guān)系D鑒別算法的可讀性16在線性表的下列運(yùn)算中,不改變數(shù)據(jù)元素之間結(jié)構(gòu)關(guān)系的運(yùn)算是(D)A插入 B刪除C排序 D定位17若進(jìn)棧序列為1,2,3,4,5,6,且進(jìn)棧和出??梢源┎暹M(jìn)行,則可能出現(xiàn)的出棧序列為(B)A3,2,6,1,4,5 B3,4,2,1,6,5C1,2

16、,5,3,4,6 D5,6,4,2,3,118二維數(shù)組A89按行優(yōu)先順序存儲,若數(shù)組元素A23的存儲地址為1087,A47的存儲地址為1153,則數(shù)組元素A67的存儲地址為(A)A1207 B1209C1211 D121319在按層次遍歷二叉樹的算法中,需要借助的輔助數(shù)據(jù)結(jié)構(gòu)是(A)A隊(duì)列 B棧C線性表 D有序表20在任意一棵二叉樹的前序序列和后序序列中,各葉子之間的相對次序關(guān)系(B)A不一定相同 B都相同C都不相同 D互為逆序1稱算法的時間復(fù)雜度為O(f(n),其含義是指算法的執(zhí)行時間和_ f(n)_的數(shù)量級相同。2假設(shè)為循環(huán)隊(duì)列分配的向量空間為Q20,若隊(duì)列的長度和隊(duì)頭指針值分別為13和1

17、7,則當(dāng)前尾指針的值為_10_。3一棵含999個結(jié)點(diǎn)的完全二叉樹的深度為_。4含n個頂點(diǎn)的無向連通圖中至少含有_條邊。6在數(shù)據(jù)結(jié)構(gòu)中,數(shù)據(jù)的邏輯結(jié)構(gòu)分為集合、_、樹形結(jié)構(gòu)和圖狀結(jié)構(gòu)等四類。7. 順序表的存儲密度為_,而鏈表的存儲密度為_。是指一個結(jié)點(diǎn)中數(shù)據(jù)域所占的存儲單元和整個結(jié)點(diǎn)所占的存儲單元之比8. 對于棧只能在_插入和刪除元素。9. 在循環(huán)隊(duì)列中,存儲空間為0n-1,設(shè)隊(duì)頭指針front指向隊(duì)頭元素前一個空閑元素,隊(duì)尾指針指向隊(duì)尾元素,那么隊(duì)滿標(biāo)志為front=(rear+1)%n,隊(duì)空標(biāo)志為_。10. 三個結(jié)點(diǎn)可構(gòu)成_種不同形態(tài)的二叉樹。1.若對具有n個元素的有序的順序表和無序的順序表

18、分別進(jìn)行順序查找,試在下述兩種情況下分別討論兩者在等概率時的平均查找長度:(1)查找不成功,即表中無關(guān)鍵字等于給定值K的記錄;(2)查找成功,即表中有關(guān)鍵字等于給定值K的記錄。答:查找不成功時,需進(jìn)行n+1次比較才能確定查找失敗。因此平均查找長度為n+1,這時有序表和無序表是一樣的。查找成功時,平均查找長度為(n+1)/2,有序表和無序表也是一樣的。因?yàn)轫樞虿檎遗c表的初始序列狀態(tài)無關(guān)。2給出樹如下圖所示,請寫出先序遍歷和中序遍歷的節(jié)點(diǎn)次序。3一棵度為2的有序樹與一棵二叉樹有何區(qū)別?答:一棵度為二的有序樹與一棵二叉樹的區(qū)別在于:有序樹的結(jié)點(diǎn)次序是相對于另一結(jié)點(diǎn)而言的,如果有序樹中的子樹只有一個孩

19、子時,這個孩子結(jié)點(diǎn)就無須區(qū)分其左右次序,而二叉樹無論其孩子數(shù)是否為2,均需確定其左右次序,也就是說二叉樹的結(jié)點(diǎn)次序不是相對于另一結(jié)點(diǎn)而言而是確定的。4設(shè)將整數(shù)1,2,3,4依次進(jìn)棧,但只要出棧時棧非空,則可將出棧操作按任何次序夾入其中,請回答下述問題:(1)若入、出棧次序?yàn)镻ush(1), Pop(),Push(2),Push(3), Pop(), Pop( ),Push(4), Pop( ),則出棧的數(shù)字序列為何(這里Push(i)表示i進(jìn)棧,Pop( )表示出棧)?(2)能否得到出棧序列1423和1432?并說明為什么不能得到或者如何得到。答:(1)出棧序列為:1324 (2)不能得到14

20、23序列。因?yàn)橐玫?4的出棧序列,則應(yīng)做Push(1),Pop(),Push(2),Push (3),Push(4),Pop()。這樣,3在棧頂,2在棧底,所以不能得到23的出棧序列。能得到1432的出棧序列。具體操作為:Push(1), Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。1指出下述程序段的功能是什么?void Demo1(SeqStack *S)int i; arr64 ; n=0 ;while ( StackEmpty(S) arrn+=Pop(S);for (i=0, ilchild);ChangeBinTree(&(*T)-rchild);temp=(*T)-lchild;(*T)-lchild=(*T)-rchild;(*T)-rchild=temp;信道容量1. 假設(shè)用于通信的電文由字符集a,b,c,d,e,f,g,h中的字母構(gòu)成,這8個字母在電文中出現(xiàn)的概率分別為0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10.為這8個字母設(shè)計(jì)哈夫曼編碼。 (1)哈夫曼編碼 根據(jù)上圖可得編碼表:a:1001b:01c:10111d:1010e:11f:10110g:00h:10002.給出下圖的從結(jié)點(diǎn)a開始的遍歷次序,1)深度優(yōu)先;2)廣度優(yōu)先。

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!