🏗️ 第 1 週:資料結構基礎(Data Structures) 2/150
02. 線性與非線性結構概念 - 你是喜歡「一條直線」的數據,還是「錯綜複雜」的樹和圖?
一、 線性結構(Linear Structure):數據的「排隊美學」
線性結構是最基礎、也最符合人類直覺的組織方式。它的特徵非常明確:除了第一個與最後一個元素外,每個元素都恰好有一個「前驅」和一個「後繼」。
- 結構特點:一條路走到底
- 數據元素之間存在「一對一」的關係。
- 就像是在超市排隊結帳,每個人都知道誰在自己前面,誰在自己後面,順序井然。
- 核心家族成員:
- 陣列(Array):像飯店的連續房間,編號固定,找人最快。
- 鏈表(Linked List):像玩尋寶遊戲,手上這張紙條告訴你下一個寶藏在哪。
- 棧(Stack):像疊盤子,最後放上去的必須最先拿走。
- 隊列(Queue):像排隊買手搖飲,先來的先拿到飲料。
二、 非線性結構(Non-linear Structure):數據的「網狀世界」
當數據之間的關係不再只是單純的前後順序,而是「一對多」甚至「多對多」時,線性結構就捉襟見肘了。這時我們需要非線性結構來模擬更複雜的現實世界。
- 結構特點:多維度的擴散
- 數據元素之間的關係是「層次化」或「網狀」的。
- 就像大腦的神經元連結,一個節點可以同時指向多個方向。
- 兩大王牌結構:
- 樹(Tree)——「一對多」的階級制度:
- 就像公司的組織架構圖,或電腦裡的資料夾路徑。一個根節點衍生出多個子節點。
- AI 連結:決策樹(Decision Tree)就是利用這種結構來做邏輯判斷。
- 圖(Graph)——「多對多」的社交網絡:
- 就像 Facebook 的好友關係網或 Google 地圖的航線。節點與節點之間可以隨意連結,沒有絕對的上下級。
- AI 連結:知識圖譜(Knowledge Graph)是讓 AI 具備推理能力的關鍵。
三、 為什麼 AI 時代更看重「非線性」?
在過去的資訊時代,我們處理的多半是清單、表格(線性);但在 AI 時代,數據的價值往往藏在**「關聯性」**之中。
- 大語言模型(LLM)的奧秘:
- 雖然我們輸入的文字是線性的,但 AI 內部的「自注意力機制(Self-Attention)」會將每個字與其他所有字建立聯繫,這本質上是在處理一個巨大的非線性權重網。
- 精準推薦系統:
- 影音平台能猜到你的喜好,是因為它把你、影片、標籤看作是一個巨大的「圖(Graph)」,分析你在這張網中的路徑。
- 複雜決策分析:
- 自動駕駛在判斷路況時,需要同時考慮紅綠燈、行人、車速、路面濕度,這是一個典型的非線性多維度決策過程。
四、 總結:你是哪一派?
- 選「線性結構」: 數據單純、重視處理速度(如緩存、撤銷紀錄)、對記憶體使用效率有嚴格要求。
- 選「非線性結構」: 數據關係複雜、需要表達層次關係、追求在海量數據下的精準檢索。













