高等學校數據結構課程系列教材算法設計與分析(第2版)/李春葆等 版權信息
- ISBN:9787302500988
- 條形碼:9787302500988 ; 978-7-302-50098-8
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
高等學校數據結構課程系列教材算法設計與分析(第2版)/李春葆等 本書特色
本書系統地介紹了各種常用的算法設計策略,包括遞歸、分治法、蠻力法、回溯法、分枝限界法、貪心法、動態規劃、概率算法和近似算法等,并詳細討論了各種圖算法和計算幾何設計算法。
全書既注重原理又注重實踐,配有大量圖表、練習題、上機實驗題和在線編程題,內容豐富,概念講解清楚,表達嚴謹,邏輯性強,語言精練,可讀性好。
本書既便于教師課堂講授,又便于自學者閱讀,適合作為高等院校“算法設計與分析”課程的教材,也可供ACM和各類程序設計競賽者參考。
高等學校數據結構課程系列教材算法設計與分析(第2版)/李春葆等 內容簡介
本書系統地介紹了各種常用的算法設計策略,包括遞歸、分治法、蠻力法、回溯法、分枝限界法、貪心法、動態規劃、概率算法和近似算法等,并詳細討論了各種圖算法和計算幾何設計算法。全書既注重原理又注重實踐,配有大量圖表、練習題、上機實驗題和在線編程題,內容豐富,概念講解清楚,表達嚴謹,邏輯性強,語言精練,可讀性好。本書既便于教師課堂講授,又便于自學者閱讀,適合作為高等院校“算法設計與分析”課程的教材,也可供ACM和各類程序設計競賽者參考。
高等學校數據結構課程系列教材算法設計與分析(第2版)/李春葆等 目錄
目錄
第1章概論/
1.1算法的概念/
1.1.1什么是算法/
1.1.2算法描述/
1.1.3算法和數據結構/
1.1.4算法設計的基本步驟/
1.2算法分析/
1.2.1算法時間復雜度分析/
1.2.2算法空間復雜度分析/
1.3算法設計工具——STL/
1.3.1STL概述/
1.3.2常用的STL容器/
1.3.3STL在算法設計中的應用/
1.4練習題/
1.5上機實驗題/
1.6在線編程題/
第2章遞歸算法設計技術/
2.1什么是遞歸/
2.1.1遞歸的定義/
2.1.2何時使用遞歸/
2.1.3遞歸模型/
2.1.4遞歸算法的執行過程/
2.2遞歸算法設計/
2.2.1遞歸與數學歸納法/
2.2.2遞歸算法設計的一般步驟/
2.2.3遞歸數據結構及其遞歸算法設計/
2.2.4基于歸納思想的遞歸算法設計/
2.3遞歸算法設計示例/
2.3.1簡單選擇排序和冒泡排序/
2.3.2求解n皇后問題/
2.4*遞歸算法轉化為非遞歸算法/
2.4.1用循環結構替代遞歸過程/
2.4.2用棧消除遞歸過程/
2.5遞推式的計算/
2.5.1用特征方程求解遞歸方程/
2.5.2用遞歸樹求解遞歸方程/
2.5.3用主方法求解遞歸方程/
2.6練習題/
2.7上機實驗題/
2.8在線編程題/
第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.3.3尋找一個序列中第k小的元素/
3.3.4尋找兩個等長有序序列的中位數/
3.4求解組合問題/
3.4.1求解*大連續子序列和問題/
3.4.2求解棋盤覆蓋問題/
3.4.3求解循環日程安排問題/
3.5求解大整數乘法和矩陣乘法問題/
3.5.1求解大整數乘法問題/
3.5.2求解矩陣乘法問題/
3.6并行計算簡介/
3.6.1并行計算概述/
3.6.2并行計算模型/
3.6.3快速排序的并行算法/
3.7練習題/
3.8上機實驗題/
3.9在線編程題/
第4章蠻力法/
4.1蠻力法概述/
4.2蠻力法的基本應用/
4.2.1采用直接窮舉思路的一般格式/
4.2.2簡單選擇排序和冒泡排序/
4.2.3字符串匹配/
4.2.4求解*大連續子序列和問題/
4.2.5求解冪集問題/
4.2.6求解簡單0/1背包問題/
4.2.7求解全排列問題/
4.2.8求解任務分配問題/
4.3遞歸在蠻力法中的應用/
4.3.1用遞歸方法求解冪集問題/
4.3.2用遞歸方法求解全排列問題/
4.3.3用遞歸方法求解組合問題/
4.4圖的深度優先和廣度優先遍歷/
4.4.1圖的存儲結構/
4.4.2深度優先遍歷/
4.4.3廣度優先遍歷/
4.4.4求解迷宮問題/
4.5練習題/
4.6上機實驗題/
4.7在線編程題/
第5章回溯法/
5.1回溯法概述/
5.1.1問題的解空間/
5.1.2什么是回溯法/
5.1.3回溯法的算法框架及其應用/
5.1.4回溯法與深度優先遍歷的異同/
5.1.5回溯法的時間分析/
5.2求解0/1背包問題/
5.3求解裝載問題/
5.3.1求解簡單裝載問題/
5.3.2求解復雜裝載問題/
5.4求解子集和問題/
5.4.1求子集和問題的解/
5.4.2判斷子集和問題是否存在解/
5.5求解n皇后問題/
5.6求解圖的m著色問題/
5.7求解任務分配問題/
5.8求解活動安排問題/
5.9求解流水作業調度問題/
5.10練習題/
5.11上機實驗題/
5.12在線編程題/
第6章分枝限界法/
6.1分枝限界法概述/
6.1.1什么是分枝限界法/
6.1.2分枝限界法的設計思想/
6.1.3分枝限界法的時間性能/
6.2求解0/1背包問題/
6.2.1采用隊列式分枝限界法求解/
6.2.2采用優先隊列式分枝限界法求解/
6.3求解圖的單源*短路徑/
6.3.1采用隊列式分枝限界法求解/
6.3.2采用優先隊列式分枝限界法求解/
6.4求解任務分配問題/
6.5求解流水作業調度問題/
6.6練習題/
6.7上機實驗題/
6.8在線編程題/
第7章貪心法/
7.1貪心法概述/
7.1.1什么是貪心法/
7.1.2用貪心法求解的問題應具有的性質/
7.1.3貪心法的一般求解過程/
7.2求解活動安排問題/
7.3求解背包問題/
7.4求解*優裝載問題/
7.5求解田忌賽馬問題/
7.6求解多機調度問題/
7.7哈夫曼編碼/
7.8求解流水作業調度問題/
7.9練習題/
7.10上機實驗題/
7.11在線編程題/
第8章動態規劃/
8.1動態規劃概述/
8.1.1從求解斐波那契數列看動態規劃法/
8.1.2動態規劃的原理/
8.1.3動態規劃求解的基本步驟/
8.1.4動態規劃與其他方法的比較/
8.2求解整數拆分問題/
8.3求解*大連續子序列和問題/
8.4求解三角形*小路徑問題/
8.5求解*長公共子序列問題/
8.6求解*長遞增子序列問題/
8.7求解編輯距離問題/
8.8求解0/1背包問題/
8.9求解完全背包問題/
8.10求解資源分配問題/
8.11求解會議安排問題/
8.12滾動數組/
8.12.1什么是滾動數組/
8.12.2用滾動數組求解0/1背包問題/
8.13練習題/
8.14上機實驗題/
8.15在線編程題/
第9章圖算法設計/
9.1求圖的*小生成樹/
9.1.1*小生成樹的概念/
9.1.2用普里姆算法構造*小生成樹/
9.1.3克魯斯卡爾算法/
9.2求圖的*短路徑/
9.2.1狄克斯特拉算法/
9.2.2貝爾曼福特算法/
9.2.3SPFA算法/
9.2.4弗洛伊德算法/
9.3求解旅行商問題/
9.3.1旅行商問題描述/
9.3.2采用蠻力法求解TSP問題/
9.3.3采用動態規劃求解TSP問題/
9.3.4采用回溯法求解TSP問題/
9.3.5采用分枝限界法求解TSP問題/
9.3.6采用貪心法求解TSP問題/
9.4網絡流/
9.4.1相關概念/
9.4.2求*大流/
9.4.3割集與割量/
9.4.4求*小費用*大流/
9.5練習題/
9.6上機實驗題/
9.7在線編程題/
第10章計算幾何/
10.1向量運算/
10.1.1向量的基本運算/
10.1.2判斷一個點是否在一個矩形內/
10.1.3判斷一個點是否在一條線段上/
10.1.4判斷兩條線段是否平行/
10.1.5判斷兩條線段是否相交/
10.1.6判斷一個點是否在多邊形內/
10.1.7求3個點構成的三角形的面積/
10.1.8求一個多邊形的面積/
10.2求解凸包問題/
10.2.1禮品包裹算法/
10.2.2Graham掃描算法/
10.3求解*近點對問題/
10.3.1用蠻力法求*近點對/
10.3.2用分治法求*近點對/
10.4求解*遠點對問題/
10.4.1用蠻力法求*遠點對/
10.4.2用旋轉卡殼法求*遠點對/
10.5練習題/
10.6上機實驗題/
10.7在線編程題/
第11章計算復雜性理論簡介/
11.1計算模型/
11.1.1求解問題的分類/
11.1.2圖靈機模型/
11.2P類和NP類問題/
11.3NPC問題/
11.4練習題/
第12章概率算法和近似算法/
12.1概率算法/
12.1.1什么是概率算法/
12.1.2蒙特卡羅類型概率算法/
12.1.3拉斯維加斯類型概率算法/
12.1.4舍伍德類型概率算法/
12.2近似算法/
12.2.1什么是近似算法/
12.2.2求解旅行商問題的近似算法/
12.3練習題/
12.4上機實驗題/
12.5在線編程題/
附錄A書中部分算法清單/
參考文獻/
展開全部
高等學校數據結構課程系列教材算法設計與分析(第2版)/李春葆等 作者簡介
李春葆,武漢大學計算機學院教授。主要研究方向為數據挖掘和算法設計,先后主持和參加多個大型研究項目。主要為本科生講授數據結構(15年以上)和軟件工程等課程,為研究生講授軟件開發新技術、數據倉庫與數據挖掘等課程,并出版十多部精品著作。