資料結構與演算法
課程簡介:
在全球,只要是學習資訊相關科系的學生一定接觸過「資料結構與演算法」這門學問。
在台灣,不論你是考資訊研究所、資訊類國家考試或者面試資訊相關職缺,都會考到「資料結構與演算法」的問題。
為什麼這門課如此重要?因為一個好的應用程式需要具備一個優良的儲存結構以及高效率的演算法互相配合,而要完成這件事情就需要這門學問的專業知識。
我們的這門課從理論開始講起,比照各大專院校的訓練方式帶各位一步步地進入資料結構與演算法的世界,讓有志精進程式開發的學員都可以無痛的學好這門學問。
課程大綱
1.   資料結構與演算法基本概念
        •   何謂資料結構
        •   何謂演算法
        •   時間複雜度
        •   空間複雜度
        •   常見的資料結構與演算法
2.   陣列(Array)
        •   Array基本概念
        •   索引存取陣列
        •   新增陣列元素
        •   刪除陣列元素
        •   Python中的Array
3.   佇列(Queue)
        •   Queue基本概念
        •   Enqueue
        •   Dequeue
        •   Queue實作
        •   Python中的Queue
4.   堆疊(Stack)
        •   Stack基本概念
        •   Push
        •   Pop
        •   Function與Stack
        •   Stack實作
5.   鏈結串列(Linked List)
        •   何謂鏈結串列
        •   查看記憶體位置
        •   鏈結串列的結構
        •   鏈結串列資料讀取
        •   鏈結串列資料插入
        •   鏈結串列資料刪除
        •   Linked List實作
        •   Linked List進階結構
6.   二元樹(Binary Tree)
        •   Binary Tree基本概念
        •   Create Binary Tree
        •   Delete Node
        •   Search Binary Tree
        •   Binary Tree Advance
        •   Binary Tree實作
7.   堆積樹(Heap Tree)
        •   Heap Tree基本概念
        •   Create Heap Tree
        •   最小堆積樹
        •   Python中的Heap Tree
        •   Heap Tree實作
8.   排序(Sort)
        •   Sort基本概念
        •   泡沫排序(Bubble Sort)
        •   選擇排序(Selection Sort)
        •   插入排序(Insertion Sort)
        •   堆積樹排序(Heap Sort)
        •   合併排序(Merge Sort)
        •   快速排序(Quick Sort)
9.   搜尋(Search)
        •   線性搜尋法(Linear Search)
        •   順序搜尋法(Sequential Search)
        •   二元搜尋法(Binary Search)
        •   Search實作
10.   圖形(Graph)
        •   Graph基本概念
        •   廣度優先
        •   廣度優先實作
        •   深度優先
        •   深度優先實作
        •   最短路徑演算法

適合上課對象
1. 具備基礎電腦能力
2. 具備Python程式設計基礎者
3. 預增強程式撰寫能力者

其他課程描述
1. 授課講師:Richard Chiang
2. 課程總時數:45小時,每堂課授課時間為3小時