第1章 緒論
1.1 算法研究的意義
1.2 算法與程序
1.3 算法的描述工具
1.4 算法的復雜性分析
1.4.1 時間復雜度
1.4.2 空間復雜度
1.5 常用數學分析公式
第2章 數據抽象與數據結構
2.1 數據抽象概念
2.1.1 數據結構的基本概念和術語
2.1.2 數據抽象
2.2 基本數據結構
2.2.1 線性表與向量
2.2.2 鏈表
2.2.3 棧和隊列
2.2.4 二叉樹
2.2.5 圖
2.3 關鍵數據結構拓廣
2.3.1 哈希表
2.3.2 并查集(等價類)
2.3.3 線段樹
2.3.4 二叉堆
第3章 初等數論
3.1 數論基礎
3.1.1 素數與算術基本定理
3.1.2 最大公約數與最小公倍數
3.2 同余方程
3.2.1 同余方程概念
3.2.2 中國剩余定理
3.3 數論函數
3.3.1 歐拉函數
3.3.2 積性函數
3.4 素數和整除
3.4.1 篩法求素數
3.4.2 整數Ⅳ的因子函數
3.5 高精度計算
第4章 組合數學初步
4.1 加法原理與乘法原理
4.2 鴿籠原理和Ramsey數
4.3 遞推關系和生成函數
4.3.1 Fibonacci數
4.3.2 Catalan數
4.3.3 第二類Stirlin9數
4.4 排列組合
4.4.1 字典序排列
4.4.2 組合算法
4.4.3 二項式系數
4.5 容斥原理
4.5.1 容斥原理的概念
4.5.2 錯排問題
4.6 Polya定理及其應用
第5章 遞歸與分治策略
5.1 遞歸概念
5.1.1 遞歸與遞歸調用
5.1.2 遞歸應用
5.2 分治法概述
5.2.1 分治法基本思想
5.2.2 分治算法設計和特點
5.3 分治法的基本應用
5.3.1 最大最小值
5.3.2 Strassen矩陣乘法
5.4 分治法解騎士周游
5.5 大整數乘法
5.5.1 常規(guī)大整數乘法
5.5.2 分治法解大整數乘法
5.6 棋盤覆蓋問題
第6章 貪心算法
6.1 貪心算法概述
6.1.1 貪心舉例
6.1.2 貪心算法的理論基礎
6.1.3 貪心算法與動態(tài)規(guī)劃算法的區(qū)別
6.2 背包問題
6.3 機器任務調度算法
6.3.1 多機調度問題
6.3.2 活動安排問題
6.4 最小生成樹
6.4.1 普里姆(Prim)算法
6.4.2 克魯斯卡爾(Kruskal)算法
6.5 哈夫曼(Huffman)樹及其應用
6.5.1 Huffman樹
6.5.2 哈夫曼編碼
6.5.3 Huffman算法的正確性
第7章 動態(tài)規(guī)劃
7.1 動態(tài)規(guī)劃算法思想
7.1.1 動態(tài)規(guī)劃最優(yōu)決策原理
7.1.2 動態(tài)規(guī)劃求解步驟
7.1.3 動態(tài)規(guī)劃的數學抽象
7.2 矩陣連乘問題
7.3 最長子序列探索
7.3.1 最長遞增子序列
7.3.2 最長公共子序列
7.4 多段圖的最短路徑
7.5 資源分配問題
7.6 樹狀動態(tài)規(guī)劃
第8章 搜索技術
8.1 盲目搜索算法
8.1.1 對分搜索
8.1.2 DFS與BFS搜索算法
8.1.3 盲目搜索算法應用
8.2 回溯算法
8.3 啟發(fā)式搜索
8.3.1 啟發(fā)式搜索策略
8.3.2 A*算法
8.4 博弈問題
8.4.1 博弈樹
8.4.2 極小極大搜索法
8.5 α-β剪枝技術
第9章 圖論算法
9.1 基本概念和定理
9.1.1 可行遍性問題
9.1.2 平面圖
9.1.3 獨立集、覆蓋與支配集
9.2 最短路徑
9.2.1 Diikstra算法
9.2.2 Floyd算法求一對點最短路徑
9.3 道路和回路
9.3.1 歐拉道路和歐拉回路
9.3.2 哈密爾頓圖和貨郎擔問題
9.4 網絡流算法
9.4.1 基本概念
9.4.2 最大流問題
9.4.3 最小費用流
9.5 二分圖相關問題
9.5.1 二分圖的最大匹配
9.5.2 二分圖的最佳匹配
第10章 計算幾何
10.1 計算幾何基本問題
10.1.1 矢量與線段
10.1.2 幾何計算公式
10.2 點與線段的關系
10.2.1 點與線段的距離
10.2.2 線段與直線的交點
10.3 多邊形
10.3.1 多邊形基本概念
10.3.2 點與多邊形的關系
10.4 凸包問題
10.4.1 判斷凸包
10.4.2 尋找凸包
10.5 歐拉定理及其應用.
第11章 排序
11.1 排序基礎
11.2 比較排序法
11.2.1 插入排序
11.2.2 冒泡排序
11.2.3 簡單選擇排序
11.3 基于分治策略的排序算法
11.3.1 快速排序
11.3.2 歸并排序
11.4 堆排序
11.4.1 樹狀選擇排序
11.4.2 堆排序
11.5 基數排序
11.6 排序小結
第12章 算法與程序經典實例
12.1 計算機算法設計實例
12.2 國際競賽程序實例分析