# 演算法 - 王紹睿 > **維護者:左喵** > **王紹睿(四捨五入)說:** > 「如果不學好演算法」 > 「你會成為50歲還在打底層code的酗酒大叔」 > 「把酒味帶到公司 被組員排擠 被企業踢來踢去」 > 「沒人愛你」 > **分數** > Homework: 20% > Midterm: 40% > Finalterm: 40% > Bonus (interaction in class) 20% > **助教** > 黃正伊: M11315043@mail.ntust.edu.tw > 賴柏宇: M11315127@mail.ntust.edu.tw > [**Moodle**](https://moodle2.ntust.edu.tw/course/view.php?id=13783) # 課程大綱 - **導論** - 穩定婚姻問題 (Stable-Marriages Problem) - **基礎** - 演算法分析基礎 (Basics of Algorithm Analysis) - 圖論搜尋 (Graph Search) - 廣度優先搜尋 (Breadth-First Search, BFS) - 深度優先搜尋 (Depth-First Search, DFS) - **一般演算法技巧** - 貪婪演算法 (Greedy Algorithm) - 分治法 (Divide and Conquer) - 排序演算法 (Sorting)(例如 合併排序 (Merge Sort)) - 動態規劃 (Dynamic Programming, DP) - **進階演算法技巧與議題** - 計算不可行性 (Computational Intractability) - NP 問題與 PSPACE 問題 (NP and PSPACE) # 0. Introduction > [簡報](https://drive.google.com/file/d/1gyVmDJFo38mdteBol9epCAqn3_heLRRY/view) ## 演算法(Algorithm)的定義 - 演算法是一種明確且有限的步驟,用來將輸入轉換為所需的輸出。 - 演算法必須滿足以下條件: > 1. 有限性(Finiteness):演算法應該是清楚且不含糊的。 > 2. 確定性(Definiteness):必須能在有限步驟內終止。 > 3. 有效性(Effectiveness):每一步驟都應該是基本且可行的。 > 4. 程序性(Procedure):有條理的步驟順序。 # 1. 穩定婚配問題(Stable Matching Problem) > [簡報](https://drive.google.com/file/d/1gyVmDJFo38mdteBol9epCAqn3_heLRRY/view) > [筆記](https://hackmd.io/@Left-owo/S1lMtrYqJg) # 2. 演算法分析 (Algorithm Analysis) > [簡報](https://drive.google.com/file/d/1iEWLbZHWA-x3JERMk6pd0lr-awlpwKSH/view) > [筆記](https://hackmd.io/@Left-owo/B1OMw8a5yg)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up