本章重點在於建立數據結構的「三維認知」:邏輯結構(數據元素間關係)、存儲結構(物理映射)、數據運算(操作定義)及其相互映射。同時掌握算法五特性(有窮、確定、可行、有輸入、有輸出)與複雜度分析方法。
| 題號 | 考點 | 正確答案 | 解析 |
|---|---|---|---|
| 1.1 | 邏輯結構分類 | B | 邏輯上分為線性結構(一對一)與非線性結構(一對多、多對多)。緊湊/非緊湊、內部/外部、動態/靜態屬存儲或實現維度。 |
| 1.2 | 順序存儲特性 | C | 順序存儲佔用連續內存,支持隨機訪問(O(1) 定位);鏈式存儲需順序遍歷。 |
| 1.3 | 邏輯關係定義 | A | 邏輯關係指數據元素間的關聯,與存儲無關。 |
| 1.4 | 時間複雜度比較 | D | 增長量級:O(1) < O(log n) < O(n) < O(n²)。 |
| 1.5 | 時間複雜度比較 | A | 同上,O(1) 常數階最優。 |
| 1.6 | 雙重循環複雜度 | D | 兩層 n 循環,基本操作執行 n×n 次,T(n)=O(n²)。 |
| 1.7 | 算法分析兩大維度 | D | 時間複雜度與空間複雜度。正確性是前提,可讀性屬工程質量。 |
| 1.8 | 鏈式存儲地址特性 | A | 鏈式存儲節點地址不要求連續,通過指針鏈接。 |
| 1.9 | 算法定義 | D | 算法是解決問題的有限運算序列,強調有窮性與確定性。 |
| 1.10 | 數據基本單位 | B | 數據元素是數據的基本單位,數據項是不可再分的最小單位。 |
數據是集合,數據元素是元素,屬「集合與元素」關係。
順序靠物理地址連續性隱含邏輯關係;鏈式靠節點中額外指針域顯式表示邏輯關係,物理地址可不連續。
for(i=1; i<=n; i++) {
y=y+1; // 頻度 n
for(j=1; j<=2*n; j++)
x=x+1; // 頻度 n * 2n = 2n²
}
T(n) = O(2n²) = O(n²)
x=1; sum=0;
for(i=1; i<=n; i++) {
x=x*i; // 頻度 n
sum=sum+x; // 頻度 n
}
T(n) = O(n)
核心技巧:找最深層嵌套的基本操作頻度,用最高階項表示大 O。