注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計算法詳解 卷1:算法基礎(chǔ)

算法詳解 卷1:算法基礎(chǔ)

算法詳解 卷1:算法基礎(chǔ)

定 價:¥49.00

作 者: [美] 蒂姆·拉夫加登 著,徐波 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115493521 出版時間: 2019-01-01 包裝: 平裝
開本: 小16開 頁數(shù): 185 字數(shù):  

內(nèi)容簡介

  算法是計算機科學(xué)領(lǐng)域*重要的基石之一。算法是程序的靈魂,只有掌握了算法,才能輕松地駕馭程序開發(fā)。算法詳解系列圖書共有4卷,本書是第1卷——算法基礎(chǔ)。本書共有6章,主要介紹了4個主題,它們分別是漸進性分析和大O表示法、分治算法和主方法、隨機化算法以及排序和選擇。附錄A和附錄B簡單介紹了數(shù)據(jù)歸納法和離散概率的相關(guān)知識。本書的每一章均有小測驗、章末習(xí)題和編程題,這為讀者的自我檢查以及進一步學(xué)習(xí)提供了較多的便利。本書為對算法感興趣的廣大讀者提供了豐富而實用的資料,能夠幫助讀者提升算法思維能力。本書適合計算機專業(yè)的高校教師和學(xué)生,想要培養(yǎng)和訓(xùn)練算法思維和計算思維的IT專業(yè)人士,以及在準備面試的應(yīng)聘者和面試官閱讀參考。

作者簡介

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

圖書目錄

第 1章 緒論 1
1.1 為什么要學(xué)習(xí)算法 1
1.2 整數(shù)乘法 3
1.2.1 問題和解決方案 3
1.2.2 整數(shù)乘法問題 3
1.2.3 小學(xué)算法 4
1.2.4 操作數(shù)量的分析 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 算法分析的指導(dǎo)原則 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 習(xí)題 29
挑戰(zhàn)題 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 數(shù)學(xué)定義 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 在指數(shù)中添加一個常數(shù) 48
2.5.2 指數(shù)乘以一個常數(shù) 49
2.5.3 最大值vs.和 49
2.6 本章要點 50
2.7 習(xí)題 51
第3章 分治算法 53
3.1 分治法規(guī)范 53
3.2 以O(shè)(n log n)時間計數(shù)逆序?qū)?54
3.2.1 問題 54
3.2.2 一個例子 54
3.2.3 協(xié)同篩選 55
3.2.4 窮舉搜索法 55
3.2.5 分治法 56
3.2.6 高級算法 57
3.2.7 關(guān)鍵思路:站在MergeSort的肩膀上 57
3.2.8 重溫Merge 58
3.2.9 Merge和分離逆序?qū)?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 節(jié)省一個遞歸調(diào)用 67
3.3.6 細節(jié) 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 預(yù)處理 71
3.4.4 一種分治方法 72
3.4.5 一個微妙的變化 74
3.4.6 ClosestSplitPair 74
3.4.7 正確性 76
3.4.8 輔助結(jié)論3.3(a)的證明 77
3.4.9 輔助結(jié)論3.3(b)的證明 78
3.4.10 小測驗3.4的答案 80
3.5 本章要點 80
3.6 習(xí)題 81
挑戰(zhàn)題 81
編程題 82
第4章 主方法 83
4.1 重溫整數(shù)乘法 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 整數(shù)乘法的遞歸算法 90
4.3.4 Karatsuba乘法 90
4.3.5 矩陣乘法 91
4.3.6 一個虛構(gòu)的遞歸過程 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 預(yù)告運行時間上界 99
4.4.7 最后的計算:第 一種情況 100
4.4.8 迂回之旅:幾何級數(shù) 101
4.4.9 最后的計算:第二種情況和第三種情況 102
4.4.10 小測驗4.4~4.5的答案 103
4.5 本章要點 103
4.6 習(xí)題 104
第5章 快速排序(QuickSort) 107
5.1 概述 107
5.1.1 排序 108
5.1.2 根據(jù)基準元素進行劃分 108
5.1.3 高級描述 110
5.1.4 內(nèi)容前瞻 110
5.2 圍繞基準元素進行劃分 111
5.2.1 簡易方法 111
5.2.2 原地實現(xiàn):高級計劃 112
5.2.3 例子 113
5.2.4 Partition子程序的偽碼 115
5.2.5 QuickSort的偽碼 117
5.3 良好的基準元素的重要性 117
5.3.1 ChoosePivot的簡單實現(xiàn) 118
5.3.2 ChoosePivot的過度實現(xiàn) 118
5.3.3 小測驗5.1~5.2的答案 119
5.4 隨機化的QuickSort 121
5.4.1 ChoosePivot的隨機化實現(xiàn) 121
5.4.2 隨機化QuickSort的運行時間 122
5.4.3 直覺:隨機基準元素為什么很好 123
*5.5 隨機化QuickSort的分析 124
5.5.1 預(yù)備工作 125
5.5.2 分解藍圖 126
5.5.3 應(yīng)用藍圖 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 習(xí)題 139
挑戰(zhàn)題 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 根據(jù)階段追蹤進展 150
6.2.2 簡化為擲硬幣 151
6.2.3 綜合結(jié)論 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 遞歸調(diào)用之外所完成的工作 159
6.4.2 一個粗略的遞歸過程 159
6.4.3 30-70輔助結(jié)論 160
6.4.4 解析遞歸過程 163
6.4.5 先猜后驗方法 164
6.5 本章要點 166
6.6 本章習(xí)題 166
挑戰(zhàn)題 167
編程題 168
附錄A 快速回顧數(shù)學(xué)歸納法 169
附錄B 快速回顧離散概率 173

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號