🎬 DSA 溫習影片資源區

根據課程單元分門別類,快速掌握數據結構與算法核心

Chapter 1 物件導向程式設計概念

深入複習 Java 物件導向 (OO) 的核心支柱:封裝 (Encapsulation)、繼承 (Inheritance) 與多型 (Polymorphism)。重點包含類別與物件的區別、抽象化定義以及如何透過 OO 提高代碼的重用性。

Chapter 2 異常處理 (Exception Handling)

詳解 Java 的錯誤捕捉機制。涵蓋 try-catch-finally 語法、受檢異常 (Checked) 與非受檢異常 (Unchecked) 的區別、throws 宣告以及如何自定義異常類別來優化系統的健壯性。

數據結構單元 (Data Structures)

Chapter 3.1 鏈結串列 (Linked Lists)

比較數組與鏈結串列的優劣。學習單向鏈結串列 (Singly Linked List) 的節點結構,以及如何在開頭、結尾或中間位置進行高效的插入與刪除操作。

Chapter 3.2 堆疊 (Stacks)

解析後進先出 (LIFO) 原理。示範堆疊抽象資料型態 (ADT) 的核心操作:push、pop 與 peek,並探討其在遞迴呼叫與括號匹配中的實際應用。

Chapter 3.3 隊列 (Queues)

掌握先進先出 (FIFO) 的排隊邏輯。重點複習循環隊列 (Circular Queue) 的避免空間浪費機制,以及隊列在任務調度與緩衝區中的實作方式。

Chapter 3.4 樹狀結構 (Trees)

從基礎二元樹到二元搜尋樹 (BST)。詳解三種遞迴遍歷演算法:前序、中序與後序,並分析在 BST 中進行搜尋、插入與刪除節點的時間複雜度。

Chapter 3.5 圖形結構 (Graphs)

探索複雜的網狀關係。複習鄰接矩陣 (Adjacency Matrix) 與鄰接清單 (Adjacency List) 的表示法,並深入學習廣度優先搜尋 (BFS) 與深度優先搜尋 (DFS) 的遍歷邏輯。

算法分析與演算法 (Algorithms)

Chapter 4.1 演算法複雜度分析

學習如何衡量演算法的效率。重點掌握 Big O 標記法,分析循環與巢狀結構的時間複雜度與空間複雜度,這是優化程式效能的基石。

Chapter 4.2 排序演算法 (Sorting)

全方位比較各類排序法:氣泡排序、選擇排序、插入排序、合併排序 (Merge Sort) 與快速排序 (Quick Sort)。重點在於理解分治法 (Divide and Conquer) 的強大威力。

Chapter 4.3 搜尋演算法 (Searching)

掌握線性搜尋 (Linear Search) 與二分搜尋 (Binary Search) 的差異。分析在已排序數據中使用二分搜尋的極致效率,以及哈希 (Hashing) 概念的基礎預覽。