本課程為銜接 C/C++ 或 Python 基礎班之進階課程,授課內容著重在介紹常見多種資料結構及圖論相關之演算法,參考書目為臺灣許多大學所使用的教科書:Introduction to Data Structure,期望在課程中帶領學員了解資料結構的原理與應用,並且逐章練習相關 LeetCode 面試題與 APCS實作題 。同時也會介紹 C++ STL 裡的各式容器,例如: vector、stack、queue、list、map、set 分別使用到哪些資料結構、在不同的情況下應該優先使用哪一種。
資料結構代表函式間的介面、資料的儲存、封裝、存取過程,適合的資料結構可以大幅提高演算法的效率,因此在程式設計的過程中,選擇適合的資料結構是一項重要而且基礎的工作,同時也是程式設計師或資工系學生的必備技能之一,像是資料庫常見的索引值,函式間的記憶體分配,或是作業系統的運作本身都脫離不了資料結構,另外,資料結構也是演算法的根本。
授課時間的分配約為課堂講授(40%)、範例程式碼講解(25%)、學生練習(35%),本門課另有5次作業供學員練習,期望同學可以從大量實作與練習中形成肌肉記憶並熟悉常見資料結構的使用。
(一) 經歷
(二) 研究領域
(三) 使用語言
(四) 教學經驗
2016年至本班教學,累計授課時數至2023年4月6日為2670小時
(五) 相關著作 區塊鏈生存指南:帶你用 Python 寫出區塊鏈!
(六) 教學經驗 於本訓練班授課時數累計至2022年6月8日為2280小時