資料結構
Data Structure
| 節 | 週二 | 週四 |
|---|---|---|
1 08:00–08:50 | 資料結構 | |
3 10:10–11:00 | 資料結構 2 節連堂 | |
4 11:10–12:00 |
* 根據陽明交大上課時間表所列
本課程旨在介紹電腦科學中資料結構的核心概念與其在C++程式語言中的實現方式。課程內容將從基礎的資料型態與抽象資料型態(ADT)開始,逐步深入探討陣列、堆疊、佇列、鏈結串列、樹狀結構、圖形等重要資料結構。此外,課程也會涵蓋各種排序與搜尋演算法的分析與應用。課程目標是讓學生能夠: 1.理解不同資料結構的特性與適用場景。 2.具備使用C++設計與實作各種資料結構的能力。 3.學習分析演算法的時間與空間複雜度,並能選擇最適合的演算法來解決問題。 4.培養良好的程式設計風格與解決問題的能力。
C或C++城市語言能力
無備註
教學方法: 以教師課堂講授為主,搭配投影片、程式碼範例與實際演練。 課程網站: 所有課程公告、講義、作業繳交及補充資料均會發布於學校的數位學習平台。
Midterm: 25% Final: 35% Quiz: 10% Group Report: 20% Class status: 10%
線性資料結構
陣列、堆疊(Stack)、佇列(Queue)、鏈結串列(Linked List)
- 講授:
- 8
- 實作:
- 4
樹狀結構
樹的基本概念、二元樹(Binary Tree)、二元搜尋樹(Binary Search Tree)、AVL樹
- 講授:
- 8
- 實作:
- 4
圖形
圖的基本概念、圖的表示法、圖的走訪(DFS, BFS)、最小生成樹
- 講授:
- 6
- 實作:
- 2
排序與搜尋
氣泡排序、選擇排序、插入排序、快速排序、合併排序、循序搜尋、二元搜尋
- 講授:
- 6
- 實作:
- 2
雜湊(Hashing)
雜湊函數、碰撞解決策略
- 講授:
- 2
基礎概念
C++複習、演算法分析、時間與空間複雜度
- 講授:
- 4
- 實作:
- 2
| 週次 | 主題 |
|---|---|
| 第 1 週 | 課程簡介: 課程目標、評分標準、C++複習 時數:[2025-09-02]莊曜嘉(2.00) |
| 第 1 週 | 課程簡介: 課程目標、評分標準、C++複習 時數:[2025-09-04]莊曜嘉(1.00) |
| 第 2 週 | 演算法分析: 時間與空間複雜度、Big-O表示法 時數:[2025-09-09]莊曜嘉(2.00) |
| 第 2 週 | 演算法分析: 時間與空間複雜度、Big-O表示法 時數:[2025-09-11]莊曜嘉(1.00) |
| 第 3 週 | 陣列與結構: 一維與二維陣列、結構與類別 時數:[2025-09-16]莊曜嘉(2.00) |
| 第 3 週 | 陣列與結構: 一維與二維陣列、結構與類別 時數:[2025-09-18]莊曜嘉(1.00) |
| 第 4 週 | 堆疊(Stack): 堆疊的ADT、陣列與鏈結串列實作 時數:[2025-09-23]莊曜嘉(2.00) |
| 第 4 週 | 堆疊(Stack): 堆疊的ADT、陣列與鏈結串列實作 時數:[2025-09-25]莊曜嘉(1.00) |
| 第 5 週 | 佇列(Queue): 佇列的ADT、線性與環狀佇列 時數:[2025-09-30]莊曜嘉(2.00) |
| 第 5 週 | 佇列(Queue): 佇列的ADT、線性與環狀佇列 時數:[2025-10-02]莊曜嘉(1.00) |
| 第 6 週 | 鏈結串列(Linked List): 單向與雙向鏈結串列、環狀鏈結串列 時數:[2025-10-07]莊曜嘉(2.00) |
| 第 6 週 | 鏈結串列(Linked List): 單向與雙向鏈結串列、環狀鏈結串列 時數:[2025-10-09]莊曜嘉(1.00) |
| 第 7 週 | 樹(Tree)的基本概念: 樹的定義、術語、二元樹 時數:[2025-10-14]莊曜嘉(2.00) |
| 第 7 週 | 樹(Tree)的基本概念: 樹的定義、術語、二元樹 時數:[2025-10-16]莊曜嘉(1.00) |
| 第 8 週 | 二元樹的走訪: 前序、中序、後序走訪 時數:[2025-10-21]莊曜嘉(2.00) |
| 第 8 週 | 二元樹的走訪: 前序、中序、後序走訪 時數:[2025-10-23]莊曜嘉(1.00) |
| 第 9 週 | 二元搜尋樹(BST): 搜尋、插入、刪除操作 時數:[2025-10-28]莊曜嘉(2.00) |
| 第 9 週 | 二元搜尋樹(BST): 搜尋、插入、刪除操作 時數:[2025-10-30]莊曜嘉(1.00) |
| 第 10 週 | 期中考試 時數:[2025-11-04]莊曜嘉(2.00) |
| 第 10 週 | 期中考試 時數:[2025-11-06]莊曜嘉(1.00) |
| 第 11 週 | 圖形(Graph)的基本概念: 圖的定義、表示法(鄰接矩陣、鄰接串列) 時數:[2025-11-11]莊曜嘉(2.00) |
| 第 11 週 | 圖形(Graph)的基本概念: 圖的定義、表示法(鄰接矩陣、鄰接串列) 時數:[2025-11-13]莊曜嘉(1.00) |
| 第 12 週 | 圖形的走訪: 深度優先搜尋(DFS)、廣度優先搜尋(BFS) 2 時數:[2025-11-18]莊曜嘉(2.00) |
| 第 12 週 | 圖形的走訪: 深度優先搜尋(DFS)、廣度優先搜尋(BFS) 2 時數:[2025-11-20]莊曜嘉(1.00) |
| 第 13 週 | 排序(Sorting)I: 氣泡排序、選擇排序、插入排序 時數:[2025-11-25]莊曜嘉(2.00) |
| 第 13 週 | 排序(Sorting)I: 氣泡排序、選擇排序、插入排序 時數:[2025-11-27]莊曜嘉(1.00) |
| 第 14 週 | 排序(Sorting)II: 快速排序、合併排序 時數:[2025-12-02]莊曜嘉(2.00) |
| 第 14 週 | 排序(Sorting)II: 快速排序、合併排序 時數:[2025-12-04]莊曜嘉(1.00) |
| 第 15 週 | 搜尋(Searching): 循序搜尋、二元搜尋 時數:[2025-12-09]莊曜嘉(2.00) |
| 第 15 週 | 搜尋(Searching): 循序搜尋、二元搜尋 時數:[2025-12-11]莊曜嘉(1.00) |
| 第 16 週 | 期末總複習與總結 時數:[2025-12-16]莊曜嘉(2.00) |
| 第 16 週 | 期末總複習與總結 時數:[2025-12-18]莊曜嘉(1.00) |
書名: Fundamentals of Data Structures in C++, 2/e 作者: Ellis Horowitz, Sartaj Sahni, Dinesh Mehta 出版者: Silicon Press 出版年: 2006
- 地點
- 教師未提供此項資料
- 時間
- 教師未提供此項資料
- 聯絡方式
- 教師未提供此項資料
