C++進階:資料結構-APCS、LeetCode[線上課程]

C++進階:資料結構-APCS、LeetCode[線上課程]

(※ 本課程難度較高,加上課程較為密集,建議熟悉C/C++、物件導向、指標者修習)
本課程為銜接 C/C++ 基礎班之進階課程,授課內容著重在介紹常見多種資料結構及相關之演算法,參考書目為臺灣許多大學所使用的教科書:Introduction to Data Structure,期望在課程中帶領學員了解資料結構的原理與應用,並且逐章練習相關 LeetCode 面試題與 APCS實作題 。同時也會介紹 C++ STL 裡的各式容器,例如: vector、stack、queue、list、map、set 分別使用到哪些資料結構、在不同的情況下應該優先使用哪一種。

資料結構代表函式間的介面、資料的儲存、封裝、存取過程,適合的資料結構可以大幅提高演算法的效率,因此在程式設計的過程中,選擇適合的資料結構是一項重要而且基礎的工作,同時也是程式設計師或資工系學生的必備技能之一,像是資料庫常見的索引值,函式間的記憶體分配,或是作業系統的運作本身都脫離不了資料結構,另外,資料結構也是演算法的根本。

授課時間的分配約為課堂講授(40%)、範例程式碼講解(25%)、學生練習(35%),本門課另有5次作業供學員練習,期望同學可以從大量實作與練習中形成肌肉記憶並熟悉常見資料結構的使用。

【本課程為預錄影片進行(無字幕),Office hour 為每周末的下午 13:00~16:00,會以 Google Meet進行】
【課程開始當週的禮拜六早上 11:00 會直播進行課程說明與Q&A】
【評分方式為:每周簽到 20%、作業 100%(一次20%,共五次),70分為通過標準】
【Office hour 外的發問以 E-mail 或 discord 為主】

課程大綱

Class 01. C++快速複習
Class 02. 資結演算法入門
Class 03. 複雜度估算(Complexity)
Class 04. 抽象資料型別(Abstract Data Type)
===Homework 1===
Class 05. 陣列(Array)
Class 06. C++ STL簡介
Class 07. 向量(Vector)
Class 08. 字串(String)
Class 09. 鏈結串列(Linked List)
===Homework 2===
Class 10. 堆疊(Stack)
Class 11. 佇列(Queue)
===Homework 3===
Class 12. 雜湊表(Hash table)
Class 13. 二元樹(Binary Tree)
===Homework 4===
Class 14. 二元樹相關應用
Class 15. 集合 (Set)
Class 16. 二元平衡樹
===Homework 5===

※課程內容將視實際上課情形加以增減
※本課程評分方式為課後習題、LeetCode指定題數、APCS歷屆試題

適合對象

想了解資料結構與演算法、有面試軟體工程師或刷題需求者、準備升學APCS考試。建議國高中以上並有任一程式語言基礎(C/C++佳)。
(※ 本課程難度較高,加上課程較為密集,建議熟悉C/C++、物件導向、指標者修習)

開發環境

Visual Studio Code、Codeblocks

近期班次

  • 第350期 招生中

    課程類別:線上課程

    開課日期:2021.11.02 ~

    學費:新生新台幣4500元整

    備註:

    線上課程影片無字幕輔助

    因應疫情,期初、期末實體課程取消,採全線上上課。

    (一)轉班或退費期限:開課日後⅓時數內,詳情連結

    (二)結業狀況:查詢是否合格及證書製作進度,結業名單連結

    (三)線上課程上課時間:請參考官網最新消息「線上課程常見QA」,詳情連結

    注意事項

    • 上課教材、影片:開課當天會發送註冊信至信箱,註冊完畢後即可開始上課。
    • 結業狀況:請上官網”結業名單”查閱是否合格及證書製作進度。
    • 轉班或退費期限:開課日後三週內。
    • 繳交作業期限:結束日後一週內,通過課程標準才會製作證書。
    • 課程影片下架日:結束日後六個月。

  • 講師介紹

    • 國立臺灣大學電機工程學碩士學位
    • 國立臺灣大學機械工程學學士學位
    • 國立臺灣大學醫學系學士班

    (一) 經歷

    • 台大醫院見習醫師
    • IRHOCS 2015國際機器人實作競賽手臂機器人組 冠軍
    • 2015 上銀智慧手競賽佳作
    • 2020 iT邦幫忙鐵人賽 Blockchain組 冠軍

    (二) 研究領域

    • 電腦視覺 機器學習 區塊鏈 智能合約

    (三) 使用語言

    • C/C++,R,Python,PHP,Solidity

    (四) 教學經驗

    於本訓練班授課時數累計至2020年2月5日為1150小時

    (五) 相關著作 區塊鏈生存指南:帶你用 Python 寫出區塊鏈! 

     

    (六) 教學經驗 於本訓練班授課時數累計至2021年6月30日為1,710小時