《計算機常用算法與程式設計教程》遵循“內容實用,難易適當,面向設計,注重能力培養”的要求,講述了窮舉、回溯、分治、遞歸、遞推、貪心算法與動態規劃等計算機常用算法,同時簡要介紹了模擬、智慧型最佳化與並行處理。可作為高等院校計算機及相關專業“算法設計與分析”、“計算機常用算法與程式設計”課程的教材,也可供軟體設計人員與計算機愛好者學習參考。
書 名: 計算機常用算法與程式設計教程
開本: 16
定價: 28.00 元
《計算機常用算法與程式設計教程》遵循“內容實用,難易適當,面向設計,注重能力培養”的要求,講述了窮舉、回溯、分治、遞歸、遞推、貪心算法與動態規劃等計算機常用算法,同時簡要介紹了模擬、智慧型最佳化與並行處理。《計算機常用算法與程式設計教程》注重常用算法的設計與套用,算法設計與程式實現的結合,以及算法的改進與程式最佳化,力求理論與實際相結合,算法與程式相統一。
書中所介紹的算法通常給出完整的C程式,並在TC(VC++)環境下編譯通過,為學習計算機常用算法與程式設計提供了範例。為便於讀者練習,每章都附有習題,同時在附錄中給出了習題求解的算法提示。
《計算機常用算法與程式設計教程》可作為高等院校計算機及相關專業“算法設計與分析”、“計算機常用算法與程式設計”課程的教材,也可供軟體設計人員與計算機愛好者學習參考。
《計算機常用算法與程式設計教程》注重培養學生套用所學知識解決實際問題的能力,遵循“面向設計,內容實用,難易適當”的編寫原則,只講述本科教學範圍內的常用算法理論,並將算法設計與程式實現相融合,加強了教材內容的實用性和針對性,切實提高學生套用算法解決實際問題的能力。適合作為高等院校計算機科學與技術及相關專業的“算法設計與分析”、“計算機算法與程式設計”課程的教材。
第1章 算法與程式設計簡介
1.1 算法與算法描述
1.1.1 算法
1.1.2 算法描述
1.2 算法複雜性分析
1.2.1 時間複雜度
1.2.2 空間複雜度
1.3 程式設計簡介
1.3.1 算法與程式
1.3.2 結構化程式設計
習題
第2章 窮舉與回溯
2.1 窮舉及其套用
2.1.1 窮舉概述
2.1.2 窮舉套用
2.2 窮舉設計的最佳化
2.2.1 優選窮舉對象
2.2.2 最佳化窮舉循環參量
2.2.3 精簡窮舉循環
2.3 回溯法及其描述
2.3.1 回溯的基本概念
2.3.2 回溯法描述
2.3.3 回溯法的效益分析
2.4 回溯設計套用
2.4.1 橋本分數式
2.4.2 排列組合
2.4.3 德布魯金環序列
2.4.4 高斯皇后問題及其拓展
2.5 回溯設計的最佳化
習題
第3章 遞歸與分治
3.1 遞歸及其套用
3.1.1 遞歸與遞歸調用
3.1.2 遞歸套用
3.2 分治法概述
3.2.1 分治法基本思想
3.2.2 分治算法設計方法和特點
3.2.3 分治法的時間複雜度
3.3 分治法的基本套用
3.3.1 數據查找與排序
3.3.2 計數逆序排名問題
3.3.3 投資問題
3.4 消除遞歸
3.4.1 一般的遞歸轉非遞歸
3.4.2 分治算法中的遞歸轉化
習題
第4章 遞推
4.1 遞推概述
4.1.1 遞推算法
4.1.2 遞推實施步驟與描述
4.2 遞推數列
4.2.1 裴波那契數列與盧卡斯數列
4.2.2 分數數列
4.2.3 冪序列
4.2.4 雙關係遞推數列
4.3 遞推數陣
4.3.1 楊輝三角
4.3.2 摺疊方陣
4.4 套用遞推求解套用題
4.4.1 猴子爬山問題
4.4.2 整幣兌零問題
4.4.3 整數劃分問題
4.5 遞推與遞歸比較
習題
第5章 貪心算法
5.1 貪心算法概述
5.2 貪心算法的理論基礎
5.3 刪數字問題
5.4 背包問題
5.4.1 0-1背包問題
5.4.2 可拆背包問題
5.5 覆蓋問題
5.6 圖的著色問題
5.7 遍歷問題
5.8 最小生成樹
5.9 哈夫曼編碼
習題
第6章 動態規劃
6.1 一般方法與求解步驟
6.1.1 一般方法
6.1.2 動態規劃求解步驟
6.2 裝載問題
6.3 插入乘號問題
6.4 0-1背包問題求解
6.4.1 0-1背包問題
6.4.2 二維0-1背包問題
6.5 最長子序列探索
6.5.1 最長非降子序列
6.5.2 最長公共子序列
6.6 最優路徑搜尋
6.6.1 點數值三角形的最優路徑搜尋
6.6.2 邊數值矩形的最優路徑搜尋
6.7 動態規劃與其他算法的比較
6.7.1 動態規劃與遞推比較
6.7.2 動態規劃與貪心算法比較
習題
第7章 模擬
7.1 模擬概述
7.2 運算模擬
7.2.1 運算模擬描述
7.2.2 n個1的整除問題
7.2.3 尾數前移問題
7.2.4 階乘與冪的計算
7.2.5 求圓周率π
7.3 隨機模擬
7.3.1 進站時間模擬
7.3.2 蒙特卡羅模擬計算
7.3.3 模擬發撲克牌
7.4 操作過程模擬
7.4.1 洗牌
7.4.2 泊松分酒
7.4.3 模擬小孔流水
7.5 模擬外索夫遊戲
習題
第8章 智慧型最佳化
8.1 模擬退火算法
8.1.1 物理退火過程和Metropolis準則
8.1.2 模擬退火算法概述
8.1.3 套用舉例
8.2 遺傳算法
8.2.1 生物的進化與遺傳
8.2.2 遺傳算法概述
8.2.3 遺傳算法關鍵參數
8.2.4 遺傳算法套用舉例
8.3 粒子群最佳化算法
8.3.1 粒子群算法的基本結構
8.3.2 粒子群算法的關鍵參數
8.3.3 套用舉例
8.4 人工神經網路
8.4.1 神經網路模型
8.4.2 神經網路學習規則
習題
第9章 並行算法簡介
9.1 基本概念
9.1.1 並行計算機系統結構模型
9.1.2 並行計算性能評價
9.2 並行算法設計
9.2.1 SIMD共享存儲模型
9.2.2 SIMD互連網路模型
9.2.3 MIMD共享存儲模型
9.2.4 MIMD異步通信模型
9.3 並行程式開發
9.3.1 並行程式設計概念
9.3.2 共享存儲系統並行編程
9.3.3 分布存儲系統並行編程
習題
附錄1 習題解答算法提要
附錄2 C常用庫函式
參考文獻
……