資料結構之 陣列和廣義表 複習題

2021-06-02 15:09:02 字數 4075 閱讀 1154

第 4  章  陣列和廣義表

一、選擇題

1. 將乙個a[1..100,1..100]的三對角矩陣,按行優先存入一維陣列b[1‥298]中,a中元素a6665(即該元素下標i=66,j=65),在b陣列中的位置k為( b   )。供選擇的答案:

a. 198            b. 195               c. 197  

2. 二維陣列a的元素都是6個字元組成的串,行下標i的範圍從0到8,列下標j的範圈從1到10。從供選擇的答案中選出應填入下列關於陣列儲存敘述中(    )內的正確答案。

(1)存放a至少需要(  e )個位元組;

(2)a的第8列和第5行共佔(  a  )個位元組;

(3)若a按行存放,元素a[8,5]的起始位址與a按列存放時的元素( b   )的起始位址一致。

供選擇的答案:

(1)a. 90       b. 180        c. 240       d. 270       e. 540    

(2)a. 108      b. 114        c. 54        d. 60        e. 150    

(3)a. a[8,5]   b. a[3,10]    c. a[5,8]   d. a[0,9]     

3. 設a是n*n的對稱矩陣,將a的對角線及對角線上方的元素以列為主的次序存放在一維陣列b[1..n(n+1)/2]中,對上述任一元素aij(1≤i,j≤n,且i≤j)在b中的位置為( b )。

a. i(i-l)/2+j     b. j(j-l)/2+i       c. j(j-l)/2+i-1    d. i(i-l)/2+j-1

4. a[n,n]是對稱矩陣,將下面三角(包括對角線)以行序儲存到一維陣列t[n(n+1)/2]中,則對任一上三角元素a[i][j]對應t[k]的下標k是(b )。

a. i(i-1)/2+j    b. j(j-1)/2+i     c. i(j-i)/2+1    d. j(i-1)/2+1

5. 設二維陣列a[1.. m,1..n](即m行n列)按行儲存在陣列b[1.. m*n]中,則二維陣列元素a[i,j]在一維陣列b中的下標為( a  )。

a.(i-1)*n+j     b.(i-1)*n+j-1      c. i*(j-1)        d. j*m+i-1

6. 有乙個100*90的稀疏矩陣,非0元素有10個,設每個整型數占2位元組,則用三元組表示該矩陣時,所需的位元組數是(b   )。

a. 60             b. 66                c. 18000             d. 33   

7. 陣列a[0..4,-1..-3,5..7]中含有元素的個數( b   )。

a. 55            b. 45               c. 36            d. 16                

8.  廣義表a=(a,b,(c,d),(e,(f,g))),則下面式子的值為( d  )。

head(tail(head(tail(tail(a)))))

a. (g)            b. (d)               c. c              d. d

9. 已知廣義表: a=(a,b), b=(a,a), c=(a,(b,a),b),求下列運算的結果:

tail(head(tail(c))) =(  f  )。

a.(a)      b. a       c. a        d. (b)         e. b           f. (a)

10. 廣義表表示式tail(((a,b),(c,d)))的操作結果是(   c )。

a. (c,d)          b. c,d                c. ((c,d))        d. d

11. 廣義表l=(a,(b,c)),進行tail(l)操作後的結果為(d  )。

a. c         b. b,c           c.(b,c)                d.((b,c))

12. 廣義表((a,b,c,d))的表頭是( a   ),表尾是(d    )。

a. a             b.()             c.(a,b,c,d)    d.(b,c,d)

二、判斷題

1. 陣列不適合作為任何二叉樹的儲存結構。( ×   )

2. 從邏輯結構上看,n維陣列的每個元素均屬於n個向量。( √   )

3. 稀疏矩陣壓縮儲存後,必會失去隨機訪問功能。( √   )

4. 陣列是同型別值的集合。( ×   )

5. 陣列可看成線性結構的一種推廣,因此與線性表一樣,可以對它進行插入,刪除等操作。(  ×    )

6. 乙個稀疏矩陣am*n採用三元組形式表示,  若把三元組中有關行下標與列下標的值互換,並把m和n的值互換,則就完成了am*n的轉置運算。( ×     )

7. 二維以上的陣列其實是一種特殊的廣義表。(  √   )

8. 廣義表的取表尾運算,其結果通常是個表,但有時也可是個單元素值。( ×   )

9. 若乙個廣義表的表頭為空表,則此廣義表亦為空表。( ×   )

10. 廣義表中的元素或者是乙個不可分割的原子,或者是乙個非空的廣義表。(×    )

11. 所謂取廣義表的表尾就是返回廣義表中最後乙個元素。( ×  )

12. 廣義表的同級元素(直屬於同乙個表中的各元素)具有線性關係。(  √   )

13. 對長度為無窮大的廣義表,由於儲存空間的限制,不能在計算機中實現。(  √   )

14. 乙個廣義表可以為其它廣義表所共享。( √    )

三、 填空題

1.設廣義表l=((),()), 則head(l)是(1) () ___;tail(l)是(2) (()_)__;l的長度是(3)2_ _;深度是(4)_2 _。

2. 已知廣義表a=(9,7,( 8,10,(99)),12),試用求表頭和表尾的操作head( )和tail( )將原子元素99從a中取出來。

head(head(tail(tail(head(tail(tail(a)))))))

3. 廣義表的深度是__表展開後所含括號的層數 ____。

4. 廣義表(a,(a,b),d,e,((i,j),k))的長度是(1)   5,深度是(2)  3 _。

5. 已知廣義表ls=(a,(b,c,d),e),運用head和tail函式取出ls中原子b的運算是_head(head(tail(ls)))_____。

6. 廣義表a=(((a,b),(c,d,e))),取出a中的原子e的操作是: __head(tail(tail(head(tail(head(a))))))__。

四  應用題

(1)存放該陣列所需多少單元?

(2)存放陣列第4列所有元素至少需多少單元?

(3)陣列按行存放時,元素a[7,4]的起始位址是多少?

(4)陣列按列存放時,元素a[4,7]的起始位址是多少?

(1)242 (2)22 (3)s+182 (4)s+142

2. 三維陣列a[1..10,-2..6,2..8]的每個元素的長度為4個位元組,試問該陣列要佔多少個位元組的儲存空間?如果陣列元素以行優先的順序存貯,設第乙個元素的首位址是100,試求元素a[5,0,7] 的存貯首位址。

陣列佔的儲存位元組數=10*9*7*4=2520;a[5,0,7]的儲存位址=100+[4*9*7+2*7+5]*4=1184

3. 陣列,廣義表與線性表之間有什麼樣的關係?

陣列是具有相同性質的資料元素的集合,同時每個元素又有唯一下標限定,可以說陣列是值和下標偶對的有限集合。n維陣列中的每個元素,處於n個關係之中,每個關係都是線性的,且n維陣列可以看作其元素是n-1維陣列的乙個線性表。

4. 什麼是廣義表?請簡述廣義表和線性表的主要區別。

線性表中的元素可以是各種各樣的,但必須具有相同性質,屬於同一資料物件。廣義表中的元素可以是原子,也可以是子表。

廣義表中的元素,可以是原子,也可以是子表,即廣義表是原子或子表的有限序列,滿足線性結構的特性:在非空線性結構中,只有乙個稱為「第乙個」的元素,只有乙個成為「最後乙個」的元素,第一元素有後繼而沒有前驅,最後乙個元素有前驅而沒有後繼,其餘每個元素有唯一前驅和唯一後繼。從這個意義上說,廣義表屬於線性結構

資料結構複習題綱

最近把近期的部落格和生活中的一些瑣事進行了整理和歸納,從現在起,開始著手準備資料結構的複習了。同時做一些筆記與大家共同分享 進步!感謝大家的支援!記得點讚啦!第二章 鍊錶 第三章 棧和佇列 對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示乙個或多個操作 此外,乙個演算法還具有下列...

資料結構複習題(二)

一 選擇題 24分 1 下面關於線性表的敘述錯誤的是 a 線性表採用順序儲存必須占用一片連續的儲存空間 b 線性表採用鏈式儲存不必占用一片連續的儲存空間 c 線性表採用鏈式儲存便於插入和刪除操作的實現 d 線性表採用順序儲存便於插入和刪除操作的實現 2 設哈夫曼樹中的葉子結點總數為m,若用二叉鍊錶作...

資料結構複習題(五)

一 選擇題 20分 1 資料的最小單位是 a 資料項 b 資料型別 c 資料元素 d 資料變數 2 設一組初始記錄關鍵字序列為 50,40,95,20,15,70,60,45 則以增量d 4的一趟希爾排序結束後前4條記錄關鍵字為 a 40,50,20,95 b 15,40,60,20 c 15,20...