《算法設(shè)計與分析》講解算法設(shè)計與分析的相關(guān)知識,首先介紹了算法基本概念、算法基礎(chǔ)知識及數(shù)學(xué)工具,然后介紹一些經(jīng)典的算法,包括遞歸與分治法、貪心法、動態(tài)規(guī)劃、回溯法、分支限界法、概率算法及NP問題!端惴ㄔO(shè)計與分析》以算法設(shè)計策略為知識單元,結(jié)合數(shù)據(jù)結(jié)構(gòu)中的實例,系統(tǒng)地介紹計算機(jī)算法的設(shè)計與分析技巧。另外,書中還配有大量的習(xí)題及上機(jī)試題,以便讀者檢驗和強(qiáng)化所學(xué)的知識,起到事半功倍的效果。
1 算法概述
1.1 算法概念
1.2 算法的復(fù)雜度
1.3 算法設(shè)計與分析的步驟
1.4 算法分析舉例
1.5 算法描述語言簡介
小結(jié)
習(xí)題
2 常用的數(shù)學(xué)工具
2.1 常用的函數(shù)和公式
2.2 用生成函數(shù)求解遞歸方程
2.3 用特征方程求解遞歸方程
2.4 用遞推方法求解遞歸方程
3 遞歸與分治
3.1 遞歸技術(shù)概述
3.2 遞歸算法的例子
3.3 遞歸方程的建立與求解
3.4 遞歸消除
3.5 分治法概述
3.6 分治法舉例
小結(jié)
習(xí)題
4 貪心法
4.1 貨幣兌付問題
4.2 貪心算法概述
4.3 背包問題
4.4 單源*短路徑問題
4.5 *小花費生成樹問題
4.6 *優(yōu)裝載
4.7 哈夫曼編碼
小結(jié)
習(xí)題
5 動態(tài)規(guī)劃
5.1 動態(tài)規(guī)劃概述
5.2 0/1背包問題
5.3 *短路徑
5.4 多矩陣乘積
5.5 *長公共子序列問題
小結(jié)
習(xí)題
6 回溯法
6.1 概述
6.2 背包問題
6.3 n皇后問題
6.4 圖的著色問題
6.5 哈密爾頓回路問題
6.6 其他常見回溯法問題
6.7 回溯法的效率分析
小結(jié)
習(xí)題
7 分支限界法
7.1 概述
7.2 復(fù)雜的有限期作業(yè)調(diào)度問題
7.3 貨郎擔(dān)問題的分支限界法
7.4 其他分支限界問題
7.5 分支限界法與回溯法的比較
小結(jié)
習(xí)題
8 概率算法
8.1 概率算法概述
8.2 數(shù)值概率算法
8.3 蒙特卡羅算法
8.4 其他概率算法
小結(jié)
習(xí)題
9 NP問題
9.1 NP問題概述
9.2 P類與NP類問題
9.3 NP完全問題
9.4 一些典型的NP完全問題
小結(jié)
習(xí)題
參考文獻(xiàn)