新到貨2本75折
算法詳解(卷1)--算法基礎

算法詳解(卷1)--算法基礎

  • 定價:294
  • 優惠價:87256
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

算法是計算機科學領域最重要的基石之一。算法是程式的靈魂,只有掌握了算法,才能輕鬆地駕馭程式開發。

算法詳解系列圖書共有4卷,本書是第1卷——算法基礎。本書共有6章,主要介紹了4個主題,它們分別是漸進性分析和大O標記法、分治算法和主方法、隨機化算法以及排序和選擇。附錄A和附錄B簡單介紹了資料歸納法和離散概率的相關知識。本書的每一章均有小測驗、章末習題和程式設計題,這為讀者的自我檢查以及進一步學習提供了較多的便利。

本書為對算法感興趣的廣大讀者提供了豐富而實用的資料,能夠説明讀者提升算法思維能力。本書適合計算機專業的高校教師和學生,想要培養和訓練算法思維和計算思維的IT專業人士,以及在準備面試的應聘者和麵試官閱讀參考。


 

作者介紹

蒂姆·拉夫加登(Tim Roughgarden),是斯坦福大學計算機科學系的教授,也是該校管理科學和工程系的客座教授,他從2004年開始教授和研究算法。本書是他的《算法詳解》四部曲的第一卷,基於他從2012年開始定期舉行的在線算法課程編寫。
 

目錄

第1章 緒論 1
1.1 為什麼要學習演算法 1
1.2 整數乘法 3
1.2.1 問題和解決方案 3
1.2.2 整數乘法問題 3
1.2.3 小學演算法 4
1.2.4 運算元量的分析 5
1.2.5 還能做得更好嗎 5
1.3 Karatsuba乘法 6
1.3.1 一個具體的例子 6
1.3.2 一種遞迴演算法 7
1.3.3 Karatsuba乘法 9
1.4 MergeSort演算法 11
1.4.1 推動力 11
1.4.2 排序 12
1.4.3 一個例子 13
1.4.4 虛擬碼 14
1.4.5 Merge副程式 15
1.5 MergeSort演算法分析 16
1.5.1 Merge的執行時間 17
1.5.2 MergeSort的執行時間 18
1.5.3 定理1.2的證明 19
1.5.4 小測驗1.1~1.2的答案 23
1.6 演算法分析的指導原則 23
1.6.1 第 1個原則:最壞情況分析 24
1.6.2 第 2個原則:全域分析 25
1.6.3 第3個原則:漸進性分析 26
1.6.4 什麼是“快速”演算法 27
1.7 本章要點 28
1.8 習題 29
挑戰題 31
程式設計題 31

第2章 漸進性標記法 32
2.1 要旨 32
2.1.1 推動力 32
2.1.2 高級思維 33
2.1.3 4個例子 34
2.1.4 小測驗2.1~2.4的答案 38
2.2 大O標記法 40
2.2.1 文本定義 40
2.2.2 圖形定義 40
2.2.3 數學定義 41
2.3 兩個基本例子 42
2.3.1 k階多項式是O(nk) 42
2.3.2 k階多項式不是O(nk-1) 43
2.4 大Ω和大 標記法 44
2.4.1 大Ω標記法 44
2.4.2 大 標記法 45
2.4.3 小O標記法 46
2.4.4 漸進性標記法的來源 47
2.4.5 小測驗2.5的答案 48
2.5 其他例子 48
2.5.1 在指數中添加一個常數 48
2.5.2 指數乘以一個常數 49
2.5.3 最大值vs.和 49
2.6 本章要點 50
2.7 習題 51

第3章 分治演算法 53
3.1 分治法規範 53
3.2 以O(n log n)時間計數逆序對 54
3.2.1 問題 54
3.2.2 一個例子 54
3.2.3 協同篩選 55
3.2.4 窮舉搜索法 55
3.2.5 分治法 56
3.2.6 高級演算法 57
3.2.7 關鍵思路:站在MergeSort的肩膀上 57
3.2.8 重溫Merge 58
3.2.9 Merge和分離逆序對 60
3.2.10 Merge_and_CountSplitInv 61
3.2.11 正確性 61
3.2.12 執行時間 62
3.2.13 小測驗3.1~3.2的答案 62
3.3 Strassen的矩陣相乘演算法 63
3.3.1 矩陣相乘 63
3.3.2 例子(n = 2) 64
3.3.3 簡單演算法 64
3.3.4 分治法 65
3.3.5 節省一個遞迴呼叫 67
3.3.6 細節 68
3.3.7 小測驗3.3的答案 69
3.4 O(n log n)時間的最近點對(Closest Pair)演算法 70
3.4.1 問題 70
3.4.2 熱身:1D情況 71
3.4.3 預處理 71
3.4.4 一種分治方法 72
3.4.5 一個微妙的變化 74
3.4.6 ClosestSplitPair 74
3.4.7 正確性 76
3.4.8 輔助結論3.3(a)的證明 77
3.4.9 輔助結論3.3(b)的證明 78
3.4.10 小測驗3.4的答案 80
3.5 本章要點 80
3.6 習題 81
挑戰題 81
程式設計題 82

第4章 主方法 83
4.1 重溫整數乘法 83
4.1.1 RecIntMult演算法 84
4.1.2 Karatsuba演算法 84
4.1.3 比較遞迴過程 85
4.2 形式聲明 86
4.2.1 標準遞迴過程 86
4.2.2 主方法的陳述和討論 87
4.3 6個例子 88
4.3.1 重溫MergeSort 89
4.3.2 二分搜索 89
4.3.3 整數乘法的遞迴演算法 90
4.3.4 Karatsuba乘法 90
4.3.5 矩陣乘法 91
4.3.6 一個虛構的遞迴過程 92
4.3.7 小測驗4.2~4.3的答案 93
4.4 主方法的證明 94
4.4.1 前言 94
4.4.2 重溫遞迴樹 95
4.4.3 單層所完成的工作 96
4.4.4 各層累計 97
4.4.5 正義與邪惡:需要考慮3種情況 98
4.4.6 預告執行時間上界 99
4.4.7 最後的計算:第 一種情況 100
4.4.8 迂回之旅:幾何級數 101
4.4.9 最後的計算:第二種情況和第三種情況 102
4.4.10 小測驗4.4~4.5的答案 103
4.5 本章要點 103
4.6 習題 104

第5章 快速排序(QuickSort) 107
5.1 概述 107
5.1.1 排序 108
5.1.2 根據基準元素進行劃分 108
5.1.3 高級描述 110
5.1.4 內容前瞻 110
5.2 圍繞基準元素進行劃分 111
5.2.1 簡易方法 111
5.2.2 原地實現:高級計畫 112
5.2.3 例子 113
5.2.4 Partition副程式的虛擬碼 115
5.2.5 QuickSort的虛擬碼 117
5.3 良好的基準元素的重要性 117
5.3.1 ChoosePivot的簡單實現 118
5.3.2 ChoosePivot的過度實現 118
5.3.3 小測驗5.1~5.2的答案 119
5.4 隨機化的QuickSort 121
5.4.1 ChoosePivot的隨機化實現 121
5.4.2 隨機化QuickSort的執行時間 122
5.4.3 直覺:隨機基準元素為什麼很好 123
5.5 隨機化QuickSort的分析 124
5.5.1 預備工作 125
5.5.2 分解藍圖 126
5.5.3 應用藍圖 128
5.5.4 計算比較的概率 130
5.5.5 最後的計算 132
5.5.6 小測驗5.3的答案 133
5.6 排序需要 (n log n)的比較 134
5.6.1 基於比較的排序演算法 134
5.6.2 具有更強前提的更快速排序 135
5.6.3 定理5.5的證明 136
5.7 本章要點 138
5.8 習題 139
挑戰題 140
程式設計題 141

第6章 線性時間級的選擇 142
6.1 RSelect算法 143
6.1.1 選擇問題 143
6.1.2 簡化為排序 144
6.1.3 分治法 145
6.1.4 RSelect的虛擬碼 146
6.1.5 RSelect的執行時間 147
6.1.6 小測驗6.1~6.2的答案 149
6.2 RSelect的分析 150
6.2.1 根據階段追蹤進展 150
6.2.2 簡化為擲硬幣 151
6.2.3 綜合結論 153
6.3 DSelect演算法 154
6.3.1 基本思路:中位元的中位元元素 154
6.3.2 DSelect的虛擬碼 155
6.3.3 理解DSelect 156
6.3.4 DSelect的執行時間 157
6.4 DSelect的分析 159
6.4.1 遞迴呼叫之外所完成的工作 159
6.4.2 一個粗略的遞迴過程 159
6.4.3 30-70輔助結論 160
6.4.4 解析遞迴過程 163
6.4.5 先猜後驗方法 164
6.5 本章要點 166
6.6 本章習題 166
挑戰題 167
程式設計題 168
附錄A 快速回顧數學歸納法 169
附錄B 快速回顧離散概率 173
 

詳細資料

  • ISBN:9787115493521
  • 規格:平裝 / 185頁 / 16k / 19 x 26 x 0.93 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

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

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬