TOP
0
0
三民出版.新書搶先報|最速、最優惠的新鮮貨報給你知!
計算機算法設計、分析與實現(簡體書)
滿額折

計算機算法設計、分析與實現(簡體書)

商品資訊

人民幣定價:68 元
定價
:NT$ 408 元
優惠價
87355
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:10 點
商品簡介
名人/編輯推薦
目次
書摘/試閱
相關商品

商品簡介

算法設計、分析與實現是計算機軟件開發人員應掌握的基本要素,在大型程序開發中越來越受到重視。《計算機算法設計分析與實現》將典型的經典問題和算法設計技術巧妙地進行結合,系統地論述算法設計技術及其在經典問題中的應用。《計算機算法設計分析與實現》共14章,第1章介紹算法的基本概念和算法分析相關的數學問題,第2~13章分別介紹遞歸的應用、迭代算法、常見排序算法、動態規劃法、回溯法、貪心算法、分治算法、概率算法、近似算法、分支限界法、遺傳算法、蟻群算法等算法設計技術,第14章介紹查找。書中所有算法均在VC6.0環境下調試通過,并截圖顯示其運行過程。

名人/編輯推薦

《計算機算法設計分析與實現》內容豐富,深入淺出,圖例豐富,可作為計算機專業本科高年級學生和研究生學習算法的教材,也可供工程技術人員、軟件設計師和自學者參考。

目次

前言
第1章與算法相關的數學問題
1.1復雜性分析初步
1.1.1空間復雜度
1.1.2時間復雜度
1.2復雜性的計量
1.3數學歸納法
1.3.1第一數學歸納法
1.3.2第二數學歸納法
1.3.3結構歸納法
1.4生成函數
1.4.1基本性質
1.4.2生成函數的計算
1.5遞歸方程求解
1.5.1遞推法
1.5.2公式解法
1.5.3母函數法
1.6 NP問題
思考題
第2章遞歸的應用
2.1第1類遞歸
2.2二叉樹的遞歸遍歷
2.3圖的遍歷
2.3.1圖的深度優先搜尋法
2.3.2圖的廣度優先算法
2.4遞歸與非遞歸的轉換
思考題
第3章迭代算法
3.1常見的迭代
3.2求方程的根
3.2.1牛頓迭代法
3.2.2二分法
3.2.3實例
3.3雅可比迭代法與高斯一塞德爾迭代法
3.3.1雅可比迭代法
3.3.2高斯一塞德爾迭代法
3.3.3迭代收斂的充分條件
思考題
第4章常見排序算法
4.1常見的內排序
4.1.1插入排序法
4.1.2交換排序
4.1.3選擇排序
4.1.4基數排序
4.1.5歸并排序
4.1.6計數排序
4.2算法性能分析
思考題
第5章動態規劃法
5.1最短路徑問題
5.1.1 Dijkstra算法
5.1.2 Bellman—Ford算法
5.1.3 Floyd算法
5.2最長公共子序列
5.3 01背包問題
5.4計算矩陣連乘積
5.5 Bitonic旅行路線問題
思考題
第6章回溯法
6.1 4皇后問題
6.2排列組合問題
6.3 01背包問題
6.4任務分配問題
6.5數碼串珠
6.6橋本分數式
思考題
第7章貪心算法
7.1 01背包
7.2哈夫曼編碼
7.3拓撲排序
7.4最小生成樹
7.4.1 Kruskal算法
7.4.2 Prim算法
7.5汽車加油問題
思考題
第8章分治算法
8.1二分查找
8.2大整數的乘法
8.3棋盤覆蓋問題
8.4循環賽日程表
8.5全排列
8.6矩陣乘法
思考題
第9章概率算法
9.1數值概率算法
9.1.1隨機數
9.1.2用隨機投點法計算pi值
9.1.3計算定積分
9.2舍伍德算法
9.3拉斯維加斯算法
9.4蒙特卡羅算法
思考題
第10章近似算法
10.1旅行售貨員問題
10.2裝箱問題
10.3集合覆蓋問題
10.4子集和問題
思考題
第11章分支限界法
11.1 01背包
11.2最短路徑
11.3裝載問題
11.4旅行售貨員問題
11.5布線問題
思考題
第12章遺傳算法
12.1遺傳算法的基本原理
12.1.1全局優化問題
12.1.2遺傳編碼
12.1.3群體設定
12.1.4適應度函數
12.1.5遺傳算子
12.1.6循環終止條件
12.1.7控制參數
12.2 01背包問題
12.3旅行家問題
思考題
第13章蟻群算法
13.1蟻群算法簡介
13.2 TSP問題
思考題
第14章查找
14.1查找的基本概念
14.1.1查找表和查找
14.1.2查找表的數據結構表示
14.1.3平均查找長度ASL
14.2順序查找
14.2.1順序查找方法適用于線性表的順序存儲結構
14.2.2順序查找的平均查找長度
14.2.3該算法的優缺點
14.3二分查找
14.3.1基本思想
14.3.2查找算法
14.3.3平均查找長度
14.3.4二分查找的優點和缺點
14.4分塊查找
14.4.1存儲結構
14.4.2基本思想
14.4.3算法分析
14.4.4分塊查找的優缺點
14.5二叉排序樹的查找
14.6哈希查找
思考題
主要參考文獻

書摘/試閱



第8章分治算法
分治法顧名思義“分而治之”,就是把一個復雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最后子問題可以簡單地直接求解,原問題的解即子問題解的合并。這個技巧是很多高效算法的基礎,如排序算法(快速排序、歸并排序)、傅里葉變換(快速傅里葉變換)、……,任何一個可以用計算機求解的問題所需的計算時間都與其規模有關。問題的規模越小,越容易直接求解,解題所需的計算時間也越少。例如,對于n個元素的排序問題,當n=1時,不需任何計算;當n=2時,只要作一次比較即可排好序;當n=3時,只要作3次比較即可,……;當咒較大時,問題就不那么容易處理了。要想直接解決一個規模較大的問題,有時是相當困難的。對于一個規模為n的問題,若該問題可以容易地解決(n較小)則直接解決,否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解。這種算法設計策略叫做分治法。
分治法的設計思想是:將一個難以直接解決的大問題分割成一些規模較小的相同問題,以便各個擊破,分而治之。
分治策略是:對于一個規模為n的問題,若該問題可以容易地解決(比如說規模,2較小)則直接解決;否則,將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解。
如果原問題可分割成k個子問題(1
分治法所能解決的問題一般具有以下幾個特征:
(1)該問題的規模縮小到一定的程度就可以容易地被解決。
(2)該問題可以分解為若干個規模較小的相同問題,即該問題具有最優子結構性質。
(3)利用該問題分解出的子問題的解可以合并為該問題的解。
(4)該問題所分解出的各個子問題是相互獨立的,即子問題之間不包含公共的子問題。
上述的第一條特征是絕大多數問題都可以滿足的,因為問題的計算復雜性一般是隨著問題規模的增加而增加;第二條特征也是大多數問題可以滿足的,此特征反映了遞歸思想的應用;第三條特征是關鍵,能否利用分治法完全取決于問題是否具有第三條特征,如果具備了第一條和第二條特征,而不具備第三條特征,則可以考慮用貪心法或動態規劃法。第四條特征涉及分治法的效率,如果各子問題是不獨立的則分治法要做許多不必要的工作,重復地解公共的子問題,此時雖然可用分治法,但一般用動態規劃法較好。
分治法在每一層遞歸上都有以下三個步驟。
(1)分解。將原問題分解為若干個規模較小、相互獨立、與原問題形式相同的子問題。
(2)解決。若子問題規模較小而容易被解決則直接解,否則遞歸地解各個子問題。
(3)合并。將各個子問題的解合并為原問題的解。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 355
海外經銷商無庫存,到貨日平均30天至45天