數學離散數學集合論 關系 代數系統 數理邏輯 圖論
組合數學排列組合 母函數 群論 遞推與遞歸 莫比烏斯反演
數學線性規劃 動態 整數
高等數學向量 行列式與矩陣 微積分初步
概率統計
初等數論素數 整數理論 同余與模線性方程
計算幾何
數據結構存儲結構線性表
(壹級結構)靜態:數組 棧 隊列 廣義表 字符串
動態:指針鏈表 動態數組
樹
(二級結構)表示法(靜態、動態) 二叉樹 森林
圖
(三級結構)表示法(矩陣、鄰接表、三元組)
特殊結構散列表(HASH表) 並查集 線段樹 後綴樹 哈夫曼樹與哈夫曼編碼 地址表Bit圖 滾動數組 棋盤圖 邊頂置換圖 二分點圖(網絡流)
常用方法遍歷樹 圖 前/中/後序優先
轉化拓撲排序(三級結構轉壹級結構) 最小生成樹 最小樹形圖(三級結構轉二級結構) 逆遍歷
壓縮路徑樹的線索化
壓縮存儲
查找線性直接 折半Fab
樹形二叉查找樹 平衡二叉樹B+樹B-樹 線索二叉樹索引表
排序插入排序直接排序、折半排序、2-路排序
交換排序冒泡排序 快速排序 歸並排序
堆排序
基數排序鏈式基數排序 桶排序
代碼素養代碼的編寫速度和準確性 誤碼率
算法實現
算法優化
調試 查錯 測試
習慣變量名 註釋 縮進 模塊化
基本算法數學高精度計算(模擬計算)
表達式處理括號 前/中/後綴表達式 表達式樹
排列組合求值 嵌套控制
高斯消元法
快速傅裏葉變換(FFT)
篩選素數素數表
分數處理
基本操作實現大量數據賦值與移動Fillchar fillword move等函數
處理實數比較大小 高精度
字符串處理基本函數KMP算法
圖論
(顯示圖搜索)路徑問題
(邊集)連通性測試傳遞閉包算法 極大強連通子圖 最小點基
最短路問題標號法 第k小路 減半最短路Dijkstra算法floyd算法bellman-ford算法Warshall算法
特殊路徑歐拉路及回路 哈密爾頓路及回路
圖的中心和重心
生成樹Kruskal算法Prim算法
集
(頂點集)覆蓋集
獨立集
支配集
割頂和塊
網絡流容量有上下界的網絡最大/ 小流
容量有上下界的網絡最小費用最大/ 小流
頂容量網絡最大流
供求約束可行流
二分圖匹配匈牙利算法
關鍵路徑
搜索
(隱式圖搜索)深度優先搜索
(回溯法)剪枝優化
預處理
記憶化搜索
可變下界的深度優先搜索
隨機化搜索
廣度優先搜索雙向廣搜*多向廣搜
啟發式搜索(A算法)
分枝定界
多階段決策貪心算法
背包動態規劃
棋盤動態規劃
劃分動態規劃
區間動態規劃
樹形動態規劃
狀態壓縮型動態規劃
其他構造法窮舉
模擬