演算法與程式解題實務
Algorithm and Problem Solving Practice
學期
113-1
學分
3
學分
當期課號
555006
永久課號
EEDE30167
開課單位
電機學院碩士在職專班
授課教師
高孟駿
校區
光復
類別
選修
上課時間表
| 節 | 週一 |
|---|---|
A 18:30–19:20 | 演算法與程式解題實務 EC115 3 節連堂 |
B 19:30–20:20 | |
C 20:30–21:20 |
* 根據陽明交大上課時間表所列
概述
This course aims to provide a solid training on algorithmic problem solving practice via selected examples and hand-on experiences. 本課程預計介紹競技程式解題常見的演算法與資料結構, 透過程式範例的介紹與密集的實際演練, 幫助同學在程式解題與實務程式實作中取得更理想穩定的表現.
先修科目
C/C++ Programming
教學方式
https://codeforces.com/ https://leetcode.com/
評分方式
Weekly Program Assignments: 60% Four Hand-on Programming Mini-Contests: 40% Additional makeup via online repository is possible. 每週程式作業以及四個迷你線上模擬賽, 線上題庫比賽/練習加分
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | (此為暫定主題課綱, 實際進度將隨學期進行狀況調整) Growth of Function, Efficiency of Algorithms |
| 第 2 週 | Sorting and Searching |
| 第 3 週 | Usage of C++ Standard Template Library (STL) |
| 第 4 週 | Dynamic Programming |
| 第 5 週 | Dynamic Programming |
| 第 6 週 | Divide and Conquer, Segment Tree & Applications |
| 第 7 週 | Range Query and Algorithms |
| 第 8 週 | *** Graph Algorithms *** Representation of Graphs, Basic Traversal, DFS, BFS |
| 第 9 週 | -- Shortest Path Problem and Algorithms -- Bellman-Ford Algorithm, Dijkstra's Algorithm, Floyd-Warshall Algorithm |
| 第 10 週 | Topological Sort, Strongly Connected Component |
| 第 11 週 | -- Minimum Spanning Tree Problem and Algorithms -- Kruskal's Algorithm, Union-Find Structure, Prim's Algorithm |
| 第 12 週 | *** Some Mathematics *** Number Theory, Combinatorics |
| 第 13 週 | Geometric Algorithms |
| 第 14 週 | String Algorithms |
| 第 15 週 | Network Flow Problem and Algorithms |
| 第 16 週 | Advanced Data Structures (if time permits) |
教科書
Guide to Competitive Programming: Learning and Improving Algorithms Through Contests, Antti Laaksonen, 2018.
Office Hours
- 時間
- by appointment
- 聯絡方式
- mjkao@nycu.edu.tw