算法設計與問題求解——編程實踐

算法設計與問題求解——編程實踐

《算法設計與問題求解——編程實踐》是2013年6月電子工業出版社出版的圖書,作者是李清勇。

基本介紹

  • 中文名:算法設計與問題求解——編程實踐
  • 作者:李清勇
  • ISBN:9787121203275
  • 頁數:248頁
  • 定價:35元
  • 出版社:電子工業出版社
  • 出版時間:2013年6月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書是北京市精品教材立項項目,是大學生創新實踐課程“算法設計與實踐”課程教材。本書以問題求解為目標,以高級程式設計語言C/C++為工具,討論怎樣綜合運用算法(包括數據結構)知識去分析問題和解決問題。問題驅動,高級語言程式設計、數據結構以及算法設計與分析知識交叉融合是本書的特點。配套理論教學的電子課件;實踐教學用“線上程式評測系統”。包括問題求解與算法分析概述、基本數據結構、高級數據結構、枚舉算法、遞歸與分治、 動態規劃、貪心算法、搜尋算法、圖算法、算法分析的實用公式、線上程式評測系統簡介等。

圖書目錄

第1章 計算機問題求解概述
1.1 問題與問題實例
1.2 計算機問題求解周期
1.3 算法與程式
1.4 算法複雜性分析
1.4.1 空間複雜性
1.4.2 時間複雜性
1.4.2.1 時間複雜性的表示
1.4.2.2 漸近時間複雜性及其階
1.4.2.3 時間複雜性漸近階的意義
1.4.2.4 算法時間複雜性分析
習題1
第2章 程式設計語言與數據結構
2.1 程式設計語言的“盲點”
2.1.1 long不夠長
2.1.1.1 數據類型的值域
2.1.1.2 大整數相加算法
2.1.2 double不夠準
2.1.2.1 浮點數的存儲格式
2.1.2.2 浮點數的有效數字
2.1.2.3 高精度浮點數處理實例
2.1.3 遞歸不夠快
2.2 基本數據結構
2.2.1 線性表
2.2.1.1 線性表的順序存儲結構
2.2.1.2 線性表的鏈式存儲結構
2.2.2 棧和佇列
2.2.2.1 棧
2.2.2.2 佇列
2.2.3 樹和二叉樹
2.2.3.1 樹
2.2.3.2 二叉樹
2.2.4 優先佇列和堆
2.2.4.1 優先佇列
2.2.4.2 二叉堆
2.2.5 圖
2.2.5.1 鄰接矩陣
2.2.5.2 鄰接表
2.3.1 模板的基本概念
2.3.2 標準模板庫概述
2.3.2.1 算法
2.3.2.2 容器
2.3.2.3 疊代器
2.3.3 標準模板庫套用
2.3.3.1 向量(vector)
2.3.3.2 集合和多重集合(set和multiset)
2.3.3.3 映射和多重映射(map 和multimap)
2.3.3.4 堆(heap)
2.3.3.5 排序算法
習題2
第3章 枚舉算法
3.1 枚舉的基本思想
3.2 模糊數字
3.3 m錢買n雞
3.4 真假銀幣
習題3
第4章 遞歸與分治
4.1 遞歸程式
4.2 分治策略的基本原理
4.3 合併排序
4.4 逆序對問題
4.5 快速排序
4.6 最接近點對問題
4.7 指數運算
4.8 二分查找
習題4
第5章 動態規劃
5.1 動態規劃的基本思想
5.1.1 動態規劃的基本要素
5.1.2 動態規劃的求解步驟
5.2 矩陣連乘
5.3 最優二叉搜尋樹
5.4 多段圖最短路徑
5.6 01背包問題
5.7 最大上升子序列
習題5
第6章 貪心算法
6.1 貪心算法的基本要素
6.2 活動安排問題
6.3 小數背包問題
6.4 最優前綴碼
6.5 單源最短路徑
6.6 最小生成樹
6.7 貪心算法與動態規劃、 分治算法的比較
習題6
第7章 搜尋技術
7.1 問題的狀態空間表示
7.2 深度優先搜尋
7.3 廣度優先搜尋
7.4 回溯算法
7.4.1 回溯算法的基本原理和框架程式
7.4.2 裝載問題的回溯算法
7.4.3 圓排列問題
7.5 分支限界
7.5.1 分支限界法的基本原理
7.5.2 裝載問題的分支限界法
7.6.1 啟發式搜尋基本原理
7.6.2 裝載問題的啟發式搜尋
習題7
附錄A 複雜性分析的數學基礎
附錄B 常用C語言和STL函式
附錄C 程式設計競賽和OnlineJudge介紹
參考文獻

相關詞條

熱門詞條

聯絡我們