<center><font color="#E0E000" size="7"> 課程內容 </font></center> ## <font color="#E0E000" size="6"> 前言 </font> 我陸陸續續都有在寫演算法的筆記,只是沒有做一個比較完善的統整,剛好有CPE課程這個機會,所以就寫了這篇文。 <a style = "color:pink">參考資料全在我的主頁面的演算法連結,有些沒有的會放進去筆記裡面</a> ## <a href = "https://hackmd.io/@HIPP0/H1JcA7Maj"><font color="#E0E000" size="6"> 資訊 </font></a> - 前言 - CPE是什麼 - 教學規劃 - 課程須知 - 比賽資訊 - 各項檢定 - 日常 ## <a href = "https://hackmd.io/@HIPP0/B1VeW9Tus" ><font color="#E0E000" size="6"> c++ 基礎知識 </font></a> - 變數的宣告與指派 - 基本輸入輸出及標頭檔 - 進階輸入輸出 - 四則運算 - 條件判斷與基礎邏輯 - 進階運算 - 陣列 - 迴圈 - 迴圈特殊應用 - 函式 - 遞迴 - 區域、全域變數、靜態變數 ## <a href = "https://hackmd.io/@HIPP0/HkYSwDwds" ><font color="#E0E000" size="6"> 演算法介紹 </font></a> - 何謂演算法 - 演算法 - 寫演算法的好習慣及小技巧 - 演算法優劣 - 複雜度 - 複雜度的分析 - 複雜度的表示 - 大O記號 - 空間複雜度 - 時間複雜度 - 常見複雜度例子 - 偽多項式時間複雜度 - P,NP問題 - P - NP - NP-Complete - NP-hard - 結尾 ## <a href = "https://hackmd.io/@HIPP0/S1uhl3Ous" ><font color="#E0E000" size="6"> 基礎資料結構 </font></a> - STL - vector - iterator 迭代器 - linked-list (競賽不常用) - pair - map - queue - deque - set - struct - auto ## <a href = "https://hackmd.io/@HIPP0/ryDjVSBco"><font color="#E0E000" size="6"> 排序搜尋 </font></a> ### 排序 - 選擇排序法 - 氣泡排序法 - 插入排序法 - 合併排序法 - 快速排序法 - c++內建排序 ### 搜尋 - 線性搜尋(暴力搜) - 二分搜尋 - 內建二分搜 - 三分搜尋 - 經典演算法DFS/BFS ## <a href = "https://hackmd.io/@HIPP0/HkP_pHzis" > <font color="#E0E000" size="6"> greedy algorithm (貪婪法) </font> </a> - 簡介 - 核心原理 - 換硬幣問題 - 單欄位資料排序 - 結構資料排序 - 外掛二分搜 - 掃描線演算法 sweep-line ## <a href = "https://hackmd.io/@HIPP0/r1iWYkuIj" ><font color="#E0E000" size="6"> Divide and Conquer (分治法)</font> </a> - 簡介 - 核心想法 - 最大值與最小值問題 - 回顧合併排序法(待補) - 回顧快速排序法(待補) - 分治的複雜度 - 經典例子 反序問題 ## <a href = "https://hackmd.io/@HIPP0/B1cZdq0rs"><font color="#E0E000" size="6"> Dynamic Programming (動態規劃) </font></a> - 簡介 - 基本思維與步驟 - 狀態轉移 - 分類與複雜度 - bottom up / top down - 經典LCS例子(最長共同序列) - 經典背包問題 - 01背包 - 完全背包 - 多重背包 ## <a href = "https://hackmd.io/@HIPP0/Hy1_QAsUj"><font color="#E0E000" size="6"> DP DP DP 深入動態規劃 </font></a> - 滾動數組 - 狀態壓縮 - 滾動DP/狀壓DP(位元DP) - 單調性質(monotonicity) - 單調隊列優化 - 斜率優化 ## <a href = "https://hackmd.io/@HIPP0/B1Of0lP5s"><font color="#E0E000" size="6"> 基本數論I </a></font> - 快速冪 - 模運算 & 模逆元 - 矩陣快速冪 - 質因數分解 - 歐幾里得算法(輾轉) - 拓展歐幾里得(extgcd) - 中國剩餘定理(Chinese remainder theorem, CRT) - 排容定理 - 鴿籠原理 :dove_of_peace: ## <a href = "https://hackmd.io/@HIPP0/r1uR6BMji"><font color="#E0E000" size="6"> 基本圖論I 未完工 </a></font> - 圖 - 名詞解析 - 圖的名稱 - 存圖的⽅法 - 圖的遍歷 - BFS - DFS - 經典例子 - Topological sort 拓樸排序 - 最短路徑 - [MST 最小生成樹](https://hackmd.io/@HIPP0/B1t9riuuj) - [DSU並查集](https://hackmd.io/@HIPP0/ryD22N79j) - 雙連通 - 強連通 - 歐拉回路 ## 進階 (尚未): - 匹配與網路流 Flow / Match / KM / 二分圖 - 樹論 Tree Hash / DSU on Tree / Heavy Light Decomposition - 字串 SA / Palindromic Tree / Minimum Rotation - DP與數學 狀態壓縮 / SOS DP / 莫比烏斯反演 / 歐拉 / Pólya lemma / burnside lemma - 進階圖論 SCC / BCC / 2-SAT - 綜合數學 Miller Rabin/ Pollard Rho / DiscreteSqrt / 高斯消 / FFT / NTT / Josephus Queries / - 計算幾何 掃描線 / Pick 定理 / 凸包操作 - CDQ分治 / 二維資節 / 持久化 / 莫隊排序 <!-- ## <a style="color:purple;"> codeforce檢討 </a> [Codeforces Round #854](https://hackmd.io/@HIPP0/H11zA_dCi) --> ###### tags: `演算法` <!-- {%hackmd aPqG0f7uS3CSdeXvHSYQKQ %} --> {%hackmd /@hipp0/Hippotumuxthem %}
×
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