算法設計與分析——基於C++程式語言的描述

算法設計與分析——基於C++程式語言的描述

《算法設計與分析——基於C++程式語言的描述》是清華大學出版社出版的圖書。

基本介紹

  • 中文名:算法設計與分析——基於C++程式語言的描述
  • 作者:王秋芬、趙剛彬
  • 出版社:清華大學出版社
  • 出版時間:2023年1月1日
  • 定價:89 元
  • ISBN:9787302610687
內容簡介,圖書目錄,

內容簡介

本書注重理論與實踐緊密結合,系統介紹算法設計方法、分析技巧和 C++ 編程實戰。作者本著“易理 解,重實用”的指導思想,結合多年的教學經驗,以算法設計策略為主線,沿著“算法思想—算法設計—構造 實例—算法描述—算法分析—C++實戰”的思路組織學習內容,共包括算法及基礎知識、貪心法、分治法、動 態規劃、搜尋法、隨機化算法、線性規劃問題與網路流、數論算法及計算幾何算法和 NP完全理論等9章內 容。為突出教材的可讀性、可用性及前沿性,每章增設了學習目標、閱讀材料及習題解析,配套資源包括實 驗指導書、教學大綱、教學課件、經典案例原始碼、微課視頻、課程網站等內容。

圖書目錄

第1章算法基礎
1.1算法的基本概念
1.1.1學習算法的重要性
1.1.2算法的定義及特性
1.1.3算法的描述方式
1.1.4算法與程式的區別
1.2算法設計的一般過程
1.3算法分析
1.3.1算法分析的概念
1.3.2時間複雜性
1.3.3空間複雜性
1.3.4算法漸進複雜性
1.3.5算法複雜性的權衡考慮
1.4遞歸
1.4.1認知遞歸
1.4.2n的階乘
1.4.3排列問題
1.4.4遞歸算法的複雜性分析
1.5基本數據結構
1.5.1順序表與鍊表
1.5.2棧與佇列
1.5.3樹與圖
1.5.4集合
1.6常用數學公式
1.6.1對數公式
1.6.2組合公式
1.6.3求和公式
1.6.4向下取整和向上取整公式
拓展知識: 算法界十大名師簡介
本章習題
第2章貪心算法
2.1概述
2.1.1貪心算法的基本思想
2.1.2貪心算法的基本要素
2.1.3貪心算法的解題步驟及算法設計模式
2.2會場安排問題
2.3單源最短路徑問題
2.4哈夫曼編碼
2.5最小生成樹
2.5.1Prim算法
2.5.2Kruskal算法
2.5.3兩種算法的比較
拓展知識: 遺傳算法
本章習題
第3章分治算法
3.1概述
3.1.1分治算法的基本思想
3.1.2分治算法的解題步驟
3.2二分查找
3.3循環賽日程表
3.4合併排序
3.5快速排序
拓展知識: 禁忌搜尋算法
本章習題
第4章動態規劃
4.1概述
4.1.1動態規劃的基本思想
4.1.2動態規劃的解題步驟
4.1.3動態規劃的基本要素
4.2矩陣連乘問題
4.3凸多邊形最優三角剖分問題
4.4最長公共子序列問題
4.5加工順序問題
4.601背包問題
4.7最優二叉查找樹
拓展知識: 模擬退火算法
本章習題
第5章搜尋算法
5.1窮舉搜尋
5.2深度優先搜尋
5.3回溯算法
5.3.1回溯算法的算法框架及思想
5.3.2子集樹
5.3.3排列樹
5.3.4滿m叉樹
5.4寬度優先搜尋
5.5分支限界算法
5.5.1分支限界算法的基本思想
5.5.201背包問題
5.5.3旅行商問題
5.5.4布線問題
5.5.5分支限界算法與回溯算法的比較
拓展知識: 蟻群算法
本章習題
第6章隨機化算法
6.1概述
6.1.1隨機化算法的類型及特點
6.1.2隨機數發生器
6.2數值隨機化算法
6.2.1計算π值的問題及分析
6.2.2計算定積分
6.3蒙特卡羅算法
6.3.1主元素問題
6.3.2素數測試
6.4拉斯維加斯算法
6.4.1整數因子分解問題
6.4.2n皇后問題
6.5舍伍德算法
6.5.1隨機快速排序
6.5.2線性時間選擇問題
拓展知識: 粒子群最佳化算法
本章習題
第7章線性規劃問題與網路流
7.1概述
7.1.1一般線性規劃問題的描述
7.1.2標準型線性規劃問題的描述
7.1.3標準型線性規劃問題的單純形算法
7.2最大網路流
7.2.1基本概念
7.2.2增廣路算法
7.2.3最大網路流的變換與套用
7.3最小費用最大流
7.3.1基本概念
7.3.2消圈算法
7.3.3最小費用最大流的變換與套用
拓展知識: 捕食搜尋算法
本章習題
第8章數論算法及計算幾何算法
8.1最大公約數
8.1.1歐幾里得算法
8.1.2Stein算法
8.2同餘方程
8.3同餘方程組
8.4線段相交
8.5凸包問題
8.5.1凸包問題的窮舉搜尋法
8.5.2凸包問題的分治法
8.6最接近點對問題
8.6.1最接近點對問題的窮舉搜尋法
8.6.2最接近點對問題的分治法
拓展知識: 動態進化算法
本章習題
第9章NP完全理論
9.1易解問題和難解問題
9.2P類問題和NP類問題
9.2.1P類問題
9.2.2NP類問題
9.2.3P類問題和NP類問題的關係
9.3NP完全問題
9.3.1多項式變換技術
9.3.2典型的NP完全問題
9.4NP完全問題的近似算法
9.4.1頂點覆蓋問題
9.4.2裝箱問題
9.4.3旅行商問題
9.4.4集合覆蓋問題
拓展知識: DNA計算
本章習題
附錄A習題解析
視頻目錄
Vedio Contents
視 頻 名 稱時長/分鐘位置
算法的基本概念151.1節
算法設計的一般過程311.2節
算法分析概念及時間、空間複雜性101.3.1節
算法漸進複雜性151.3.4節
多項式時間定理證明及O的運算性質121.3.4節
算法的運行時間T(n)建立的依據201.3.4節
算法所占用的空間S(n)建立的依據71.3.4節
貪心算法的基本思想、基本要素152.1節
會場安排問題122.2節
會場安排問題算法的正確性證明112.2節
最優裝載問題算法正確性證明72.2節
單源最短路徑問題算法162.3節
哈夫曼編碼算法182.4節
哈夫曼編碼貪心算法正確性證明202.4節
哈夫曼編碼C++實戰132.4節
最小生成樹Prim算法222.5.1節
最小生成樹Kruskal算法132.5.2節
分治算法的基本思想及二分查找173.1節
循環賽日程表問題73.3節
合併排序163.4節
快速排序213.5節
動態規劃的基本思想、解題步驟、基本要素304.1.1節
矩陣連乘問題164.2節
凸多邊形最優三角剖分274.3節
最長公共子序列問題254.4節
加工順序問題1274.5節
加工順序問題294.5節
01背包問題224.6節
01背包問題的跳躍點算法224.6節
最優二叉查找樹的概念144.7節
最優二叉查找樹174.7節
窮舉搜尋與深度優先搜尋135.1節
續表
視 頻 名 稱時長/分鐘位置
回溯算法的算法框架及思想275.3.1節
子集樹的概念及算法設計模式125.3.2節
01背包問題145.3.2節
01背包問題改進回溯法175.3.2節
最大團問題135.3.2節
排列樹模型及算法設計模式135.3.3節
批處理作業調度問題205.3.3節
旅行商問題175.3.3節
滿m叉樹模型及圖的m著色問題205.3.4節
最小機器重量設計問題145.3.4節
寬度優先搜尋125.4節
分支限界算法及01背包問題285.5.1節
旅行商問題分支限界算法175.5.3節
布線問題分支限界算法175.5.4節
隨機化算法概述及隨機數發生器166.1節
數值隨機化算法86.2節
蒙特卡羅算法376.3節
拉斯維加斯算法296.4節
舍伍德算法86.5節
線性規劃問題227.1.1節
約束標準型線性規劃問題的單純性算法397.1.3節
兩階段單純形算法237.1.3節
最大網路流的基本概念187.2.1節
增廣路算法127.2.2節
最大網路流的變換與套用157.2.3節
最小費用最大流消圈算法157.3.2節
最大公約數238.1節
同餘方程218.2節
同餘方程套用——量水問題98.2節
同餘方程組118.3節
線段相交188.4節
凸包問題198.5節
最接近點對問題258.6節
P類問題和NP類問題169.2節
NP完全問題119.3節
NP完全問題的近似算法179.4節

相關詞條

熱門詞條

聯絡我們