7. 下列資料結構運用到查找(Search)資料時,哪個有最小的時間複雜度?
(A)Hash Table
(B)Array
(C)Linked List
(D)Heap
答案:登入後查看
統計: A(59), B(12), C(8), D(12), E(0) #3123038
統計: A(59), B(12), C(8), D(12), E(0) #3123038
詳解 (共 2 筆)
#6419171
在這些常用的資料結構中,查找資料的平均時間複雜度比較:
- (A) Hash Table (雜湊表):在理想情況下(良好的雜湊函數且衝突較少),平均查找時間複雜度是 O(1)。在最差情況下(所有元素雜湊到同一個位置),會退化到 O(n)。
- (B) Array (陣列):
- 如果陣列未排序,線性查找的時間複雜度是 O(n)。
- 如果陣列已排序,二分查找的時間複雜度是 O(log n)。
- (C) Linked List (鏈結串列):無論排序與否,查找特定元素都需要從頭開始遍歷,時間複雜度是 O(n)。
- (D) Heap (堆積):堆積主要用於快速找到最大值或最小值,但查找任意一個特定元素的時間複雜度是 O(n),因為沒有特定的順序可以利用來加速查找。
比較這些時間複雜度:O(1) < O(log n) < O(n)。
在平均情況下,Hash Table 的查找時間複雜度 O(1) 是最小(最有效率)的。
答案是 (A) Hash Table。
1
0