2010年4月6日 星期二

資料結構第二章評量解答

※題目請自行參考課本
1.圖例略。索引值從0開始。

2.(1)50×4=200
(2)1000+4×12=1048
(3)1000+4×33=1132


3.(1)8×30=240
(2)0022FE80(16)+8×12(10)=0022FE80(16)+60(16)=0022FEF0(16)
(3)0022FE80(16)+8×25(10)=0022FE80(16)+C8(16)=0022FF48(16)

4.圖例略。

5.以行為主:i×9+j
以欄為主:j×8+i

6.以行為主:i×8+j
以欄為主:j×9+i

7.∵C[0][0]位址為1000,C[0][1]位址為1004,
所以此陣列是以列(行)為主,並且一個元素佔4byte,
所以位址計算公式為[(列號×欄數+欄號)×4+1000],
驗證C[2][3]為(2×7+3)×4+1000符合1068,
∴C[4][4]位址為(4×7+4)×4+1000=1128#。

8.∵C[0][0]位址為1000,C[1][0]位址為1004,
所以此陣列是以欄為主,並且一個元素佔4byte,
所以位址計算公式為[(欄號×列數+列號)×4+1000],
驗證C[3][2]為(2×5+3)×4+1000符合1052,
∴C[4][4]位址為(4×5+4)×4+1000=1096#。

9.(1)結構是是一種自訂資料型態,可同時包含多個不同的資料型態在內。
(2)使用struct關鍵字來宣告

10.
struct Employee{
    char names[10];
    int age;
    float salary;
    char email[20];
};

11.略

12.稀疏矩陣是指一矩陣資料大部份的空間皆為閒置。

13.請參考此篇文章:http://32989010dsweb.blogspot.com/2010/04/ex7-ch2-4e.html

14.請參考此篇文章:http://32989010dsweb.blogspot.com/2010/04/14.html

15.設起始位址為b,陣列大小為(r,c)
以列(行)為主方式來計算,所以得出
(5×c+3)×4+b=5314
(8×c+5)×4+b=5422
得出c為25/3(不合,非整數)
改採以欄為主方式來計算,得出
(3×r+5)×4+b=5314
(5×r+8)×4+b=5422
r=12b=5150
所以A(2,7)的位址為
(7×12+2)×4+5150=5494

16.(A)

沒有留言:

張貼留言