21 有關串列(Linked Lists)與陣列(Arrays)之特性比較,何者為真?
(A)串列較節省儲存空間
(B)串列循序搜尋較快
(C)串列資料新增與刪除較方便
(D)串列資料儲存的可靠度較高
答案:登入後查看
統計: A(55), B(65), C(232), D(33), E(0) #2780262
統計: A(55), B(65), C(232), D(33), E(0) #2780262
詳解 (共 3 筆)
#5808861
承接上面同學的說明,補充表格和偶然看到的比喻。
鏈結串列(Linked List)與陣列(Array)比較表格
|
|
鏈結串列(Linked List) |
陣列(Array) |
|
記憶體位置 |
不連續 |
連續 |
|
記憶體空間 |
較花費,因為還需要有放指標的空間 |
較節省 |
|
讀取資料 |
慢 |
快 |
|
循序/隨機存取 |
僅支援循序 |
循序、隨機皆可 |
|
追加、刪除資料 |
快 |
慢 |
|
可靠度 |
低,指標斷裂,資料便遺失 |
高 |
比喻:
可以將鏈結串列和陣列想像成有5個朋友,要去電影院看電影,但他們需要座位的方式不同。
鏈結串列有位子都可以坐,不連續無妨,但隔壁座位要放一枝指標,標示下一位朋友的位置,所以比較花費空間。陣列一定要5個人坐在一起,但一個人只需要一個座位。
鏈結串列要找到5個朋友的位置比較慢,因為他們不連續,要循著指標慢慢找。
陣列要找到5個朋友的位置比較快,因為他們坐在一起,直接依座位標號就可以找到。
追加資料就像有新朋友要來看電影。
鏈結串列只要有空位就可以坐,比較快。
陣列要把其他客人挪開,讓新朋友和原來的5個朋友坐在一起,比較慢。
可靠度就像要在電影院中找到5個朋友。
鏈結串列如果隔壁的指標斷掉了,會找不到下一個朋友的位置。
陣列就沒有這個問題。
7
0