資料結構 本科 形成性考核冊答案

2021-05-31 13:25:30 字數 5189 閱讀 2536

作業1(本部分作業覆蓋教材第1-2章的內容)

一、單項選擇題

1.c 2.d 3.b 4.c 5.d 6.c 7.b 8.c 9.a 10.b

11.c 12.d 13.c 14.a 15.b 16.c 17.c 18.b 19.b 20.d

二、填空題

1.n-i+1

2.n-i

3.集合線性結構樹形結構圖狀結構

4.物理結構儲存結構

5.線性結構非線性結構

6.有窮性確定性可形性有零個或多個輸入有零個或多個輸出

7.圖狀結構

8.樹形結構

9.線性結構

10. n-1 o(n)

11.s->next=p->next;

12.head

13.q->next=p->next;

14.p->next=head;

15.單鏈表

16.順序儲存鏈式儲存

17.儲存結構

18.兩個直接後繼直接前驅尾結點頭結點

19.頭結點的指標指向第乙個結點的指標

20.鏈式鍊錶

三、問答題

1.簡述資料的邏輯結構和儲存結構的區別與聯絡,它們如何影響演算法的設計與實現?

答:若用結點表示某個資料元素,則結點與結點之間的邏輯關係就稱為資料的邏輯結構。資料在計算機中的儲存表示稱為資料的儲存結構。

可見,資料的邏輯結構是反映資料之間的固有關係,而資料的儲存結構是資料在計算機中的儲存表示。儘管因採用的儲存結構不同,邏輯上相鄰的結點,其實體地址未必相同,但可通過結點的內部資訊,找到其相鄰的結點,從而保留了邏輯結構的特點。採用的儲存結構不同,對資料的操作在靈活性,演算法複雜度等方面差別較大。

2.解釋順序儲存結構和鏈式儲存結構的特點,並比較順序儲存結構和鏈式儲存結構的優缺點。

答:順序結構儲存時,相鄰資料元素的存放位址也相鄰,即邏輯結構和儲存結構是統一的,,要求記憶體中儲存單元的位址必須是連續的。

優點:一般情況下,儲存密度大,儲存空間利用率高。

缺點:(1)在做插入和刪除操作時,需移動大量元素;(2)由於難以估計,必須預先分配較大的空間,往往使儲存空間不能得到充分利用;(3)表的容量難以擴充。

鏈式結構儲存時,相鄰資料元素可隨意存放,所佔空間分為兩部分,一部分存放結點值,另一部分存放表示結點間關係的指標。

優點:插入和刪除元素時很方便,使用靈活。

缺點:儲存密度小,儲存空間利用率低。

3.什麼情況下用順序錶比鍊錶好?

答:順序表適於做查詢這樣的靜態操作,鍊錶適於做插入和刪除這樣的動態操作。如果線性表的變化長度變化不大,且其主要操作是查詢,則採用順序表;如果線性表的長度變化較大,且其主要操作是插入、刪除操作,則採用鍊錶。

4.解釋頭結點、第乙個結點(或稱首元結點)、頭指標這三個概念的區別?

答:頭結點是在鍊錶的開始結點之前附加的乙個結點;第乙個結點(或稱首元結點)是鍊錶中儲存第乙個資料元素的結點;頭指標是指向鍊錶中第乙個結點(或為頭結點或為首元結點)的指標。

5.解釋帶頭結點的單鏈表和不帶頭結點的單鏈表的區別。

答:帶頭結點的單鏈表和不帶頭結點的單鏈表的區別主要體現在其結構上和演算法操作上。

在結構上,帶頭結點的單鏈表,不管鍊錶是否為空,均含有乙個頭結點,不帶頭結點的單鏈表不含頭結點。

在操作上,帶頭結點的單鏈表的初始化為申請乙個頭結點。無論插入或刪除的位置是地第乙個結點還是其他結點,演算法步驟都相同。不帶頭結點的單鏈表,其演算法步驟要分別考慮插入或刪除的位置是第乙個結點還是其他結點。

因為兩種情況的演算法步驟不同。

四、程式填空題

1.(1)p->data=i

(2)p->next=null

(3)q->next=p

(4)q=p

2.(1)head=p

(2)q=p

(3)p->next=null

(4)p->next=q->next

(5)q->next=p

3.(1)p=q->next

(2)q->next=p->next

五、完成:實驗1――線性表

根據實驗要求(見教材p201-202)認真完成本實驗,並提交實驗報告。

作業2答案

(本部分作業覆蓋教材第3-5章的內容)

一、單項選擇題

1.c 2.b 3.a 4.c 5.b 6.a 7.b 8.c 9.a 10.c

11.b 12.c 13.b 14.b 15.a 16.c 17.b 18.a 19.c 20.d

21.b 22.d 23.c 24.b 25.d 26.a 27.c 28.d 29.d 30.c 31.a 32.d

二、填空題

1.後進先出

2.下乙個

3.增1 增1

4.假上溢

5. 棧是否滿 s->top=maxsize-1 棧頂指標棧頂對應的陣列元素棧是否空 s->top=-1 棧頂元素修改棧頂指標

6.bceda

7.終止條件遞迴部分

8.lu->front==lu->rear

9.運算子運算元 ab+c/fde/--

10.s->next=h

11.h=h->next;

12.r->next=s;

13.f=f->next;

14.字元

15.順序儲存方式鏈式儲存方式

16.0 空格字元的個數

17.特殊稀疏

18219.((d,e,f))

20.串長度相等且對應位置的字元相等

21.i(i-1)/2+j

22.行下標、列下標、非零元素值

三、問答題

1.簡述棧和一般線性表的區別。

答:棧是一種先進後出的線性表,棧的插入和刪除操作都只能在棧頂進行,而一般的線性表可以**性表的任何位置進行插入和刪除操作。

2.簡述佇列和一般線性表的區別。

佇列是一種先進先出的線性表,佇列的插入只能在隊尾進行,佇列的刪除只能在隊頭進行,而一般的線性表可以**性表的任何位置進行插入和刪除操作。

3.鏈棧中為何不設頭結點?

答:因為鏈棧只在鏈頭插入和刪除結點,不可能在鍊錶中間插入和刪除結點,演算法實現很簡單,所以一般不設定頭結點。

4.利用乙個棧,則:

(1)如果輸入序列由a,b,c組成,試給出全部可能的輸出序列和不可能的輸出序列。

(2)如果輸入序列由a,b,c,d組成,試給出全部可能的輸出序列和不可能的輸出序列。

答:(1)棧的操作特點是後進先出,因此輸出序列有:

a入,a出,b入,b出,c入c出,輸出序列為abc。

a入,a出,b入,c入,c出,b出,輸出序列為acb。

a入,b入,b出,a出,c入,c出,輸出序列為bac。

a入,b入,b出,c入,c出,a出,輸出序列為bca。

a入,b入,c入,c出,b出,a出,輸出序列為cba。

由a,b,c組成的資料項,除上述五個不同的組合外,還有乙個c,a,b組合。但不可能先把c出棧,再把a出棧,(a不在棧頂位置),最後把b出棧,所以序列cab不可能由輸入序列a,b,c 通過棧得到。

(2)按照上述方法,可能的輸出序列有:

abcd,abdc,acbd,acdb,adcb,bacd,badc,bcad,bcda,bdca,cbad,cbda,cdba,dcba。

不可能的輸出序列有:

dabc,adbc,dacb,dbac,bdac,dbca,dcab,cdab,cadb,cabd

5.用s表示入棧操作,x表示出棧操作,若元素入棧順序為1234,為了得到1342出棧順序,相應的s和x操作串是什麼?

答:應是sxssxsxx。各操作結果如下:

s 1入棧

x 1出棧輸出序列:1

s 2入棧

s 3入棧

x 3出棧輸出序列:13

s 4入棧

x 4出棧輸出序列:134

x 2出棧輸出序列:1342

6.有5個元素,其入棧次序為:a、b、c、d、e,在各種可能的出棧次序中,以元素c、d最先的次序有哪幾個?

答:從題中可知,要使c第乙個且d第二個出棧,應是a入棧,b入棧,c入棧,c出棧,d入棧。之後可以有以下幾種情況:

(1)b出棧,a出棧,e入棧,e出棧,輸出序列為:cdbae。

(2)b出棧,e入棧,e出棧,a 出棧,輸出序列為cdbea。

(3)e入棧,e出棧,b出棧,a出棧,輸出序列為cdeba

所以可能的次序有:cdbae,cdbea,cdeba

7.寫出以下表示式的字尾算術表示式

⑴ 3x2+x-1/x+5

⑵ (a+b)*c-d/(e+f)+g

答;對應的字尾算術表示式

⑴ 3x2^*x+1x/-5+

⑵ ab+c*def+/-g+

8. 簡述廣義表和線性表的區別和聯絡。

答:廣義表是線性表的的推廣,它也是n(n>0)個元素a1 ,a2…ai… an的有限序列,其中ai或者是原子或者是乙個廣義表。所以,廣義表是一種遞迴資料結構,而線性表沒有這種特性,線性表可以看成廣義表的特殊情況,當ai都是原子時,廣義表退化成線性表。

四、程式填空題

1.(1)q->front->next=p->next;

(2)free(p);

(3)q->rear=q->front

五、綜合題

1.答:出隊序列是e2,e4,e3,e6,e5,e1的過程:

⑴ e1入棧(棧底到棧頂元素是e1)

⑵ e2入棧(棧底到棧頂元素是e1,e2)

⑶ e2出棧(棧底到棧頂元素是e1)

⑷ e3入棧(棧底到棧頂元素是e1,e3)

⑸ e4入棧(棧底到棧頂元素是e1,e3,e4)

⑹ e4出棧(棧底到棧頂元素是e1,e3)

⑺ e3出棧(棧底到棧頂元素是e1)

⑻ e5入棧(棧底到棧頂元素是e1,e5)

⑼ e6入棧(棧底到棧頂元素是e1,e5,e6)

⑽ e6出棧(棧底到棧頂元素是e1,e5)

⑾ e5出棧(棧底到棧頂元素是e1)

⑿ e1出棧(棧底到棧頂元素是空)

棧中最多時有3個元素,所以棧s的容量至少是3。

2.演算法設計如下:

/*只有乙個指標rear的鏈式隊的基本操作*/

#include

typedef char elemtype;

struct node /*定義鏈佇列結點*/

鋼結構形成性考核冊答案

三 簡答題 1 鋼結構和其他材料的結構相比具有哪些特點?答 1 建築鋼材強度高,塑性和韌性好 2 鋼結構的重量輕 3 材質均勻,與力學計算的假定比較符合 4 鋼結構製作簡便,施工工期短 5 鋼結構密閉性好 6 鋼結構耐腐蝕性差 7 鋼材耐熱不耐火 8 鋼結構可能發生脆性斷裂。2.鋼材 耐熱不耐火 的...

建築結構形成性考核冊答案

4.當結構或構件出現下列狀態 a 時,即認為超過了承載能力極限狀態。a 結構轉變為機動體系 b 出現了影響正常使用的過大振動 c 撓度超過允許值d 裂縫超過了允許值 5.截面尺寸和材料強度一定時,鋼筋混凝土受彎構件正截面承載力與受拉區縱筋配筋率的關係是 c a 配筋率越大,正截面承載力越大 b 配筋...

建築結構形成性考核冊答案

建築結構 作業1 一 填空題 每小題2分,共20分 1 對於有明顯流幅的鋼筋 俗稱軟鋼 一般取 屈服強度 作為鋼筋設計強度的依據。2 混凝土強度等級的表示方法為,符號c代表 混凝土 c後面的數字表示以 為單位的立方體抗壓強度標準值。3 結構的極限狀態分 承載能力極限狀態 和 正常使用極限狀態 兩種。...