線性數據結構概述
線性數據結構是數據元素按線性順序排列的集合,每個元素有唯一的前驅和后繼(除首尾元素)。常見類型包括數組、隊列、鏈表和棧,每種結構在存儲和操作上具有獨特特性。
線性表:顧名思義,線性表就是數據排成像一條線的結構。每個線性表上的數據最多只有前和后兩個方向。線性表結構:數組、鏈表、隊列、棧
數組(Array)
數組(Array)是一種線性表數據結構。它用一組連續的內存空間,來存儲一組具有相同類型的數據。連續內存空間存儲相同類型元素,通過索引直接訪問。
// 動態初始化:初始化時由程序員只指定數組長度,由系統為數組元素分配初始值
char c1[] = new char[5];
// 靜態初始化: 初始化時由程序員顯示置頂每個數組的初始值,由系統決定數組長度
char c2[] = new char[]{'E','D','U','Y','U'};
char c3[] = {'E','D','U','Y','U'};
主要特點
-
固定大小:需預先分配內存,擴容成本高,內存地址連續
-
隨機訪問:時間復雜度為 $O(1)$,可以通過下標的成員訪問,下標訪問的性能高
-
操作效率:插入/刪除需移動元素,平均時間復雜度 $O(n)$,增刪操作帶來更大的性能消耗(保證數據越界的問題,需動態擴容)
-
適用場景:頻繁查詢、元素數量固定的場景