計算機離散數學基礎 Fundamentals of Discrete Math for Computer Science: A Problem-Solving Primer (2013) ( Undergraduate Topics in Computer Science )

Tom Jenkyns , Ben Stephenson

買這商品的人也買了...

商品描述

本書選取了計算機科學專業的學生需要掌握的離散數學基礎知識和核心理論進行系統的介紹,
以利用計算機解決問題為主要目標,將理論與實踐結合起來,使學生充分認識抽象的重要性。
全書選材適當、結構清晰、敘述簡明、推理嚴謹,適合作為高校計算機專業離散數學課程的教材,
也適合從事計算機軟件開發工作的技術人員學習。

目錄大綱

出版者的話
譯者序
前言
第1章算法、數和機器1
1.1什麼是算法3
1.2整數算法和復雜度6
1.2.1素數測試7
1.2.2實數8
1.2.3改進素數測試算法9
1.2.4素數分解11
1.2.5對數12
1.2.6公約數14
1.3數的機器表示16
1.3.1近似誤差17
1.3.2二進制、八進制和十六進制19
1.4數值求解25
1.4.1牛頓的平方根求解方法26
1.4.2二分法27
習題30

第2章集合、序列和計數32
2.1樸素集合論32
2.1.1可惡的圖書管理員34
2.1.2集合運算和基數34
2.1.3鴿巢原理36
2.2序列37
2.2.1子集的特徵序列38
2.3計數39
2.3.1 n元集合上的k元序列數40
2.3.2 n元集合的子集數40
2.3.3 n元集合上的k元排列數40
2.3.4 n的階乘41
2.3.5 n元集合上的k元子集數42
2.3.6 Pascal三角形44
2.3.7非公式的計數策略46
2.4無限序列和復雜度函數49
2.4.1漢諾塔51
2.4.2差的複雜度函數53
習題54

第3章布爾表達式、邏輯和證明56
3.1貪心算法和餅乾選擇問題56
3.1.1貪心算法56
3.2布爾表達式和真值表60
3.2.1否算子60
3.2.2合取算子60
3.2.3析取算子60
3.2. 4條件算子62
3.2.5雙向條件算子63
3.3謂詞和量詞64
3.4有效推理65
3.5證明實例68
3.5.1直接證明70
3.5.2間接證明71
3.5.3 Cantor的對角線方法73
3.6數學歸納法75
3.6.1強歸納法82
3.7第1章的待證明結論83
3.7.1 RPM的正確性證明83
3.7.2切蛋糕難題的正確性證明85
3.7.3舍九法的正確性證明87
3.7.4 GCD歐幾里得算法的正確性證明88
3.8第2章的待證明結論90
習題92

第4章查找和排序95
4.1查找95
4.1.1查找任意列表95
4.1.2查找有序列表96
4.2分支圖100
4.2.1二分查找的第二個版本101
4.3排序106
4.3.1選擇排序106
4.3.2交換排序108
4.4至少有n!個葉子的二叉樹113
4.5劃分排序120
4.6排序算法比較129
4.6.1時間和運算的計數130
習題131

第5章圖和樹134
5.1引言134
5.1.1度137
5.1.2歐拉圖138
5.1.3哈密頓圖139
5.2路徑、迴路和多邊形139
5.2.1路徑確定的子圖140
5.3樹142
5.3.1遍歷142
5.4邊帶權圖153
5.4.1最短路徑157
5.5有向圖157
5.5. 1有向路徑158
5.5.2距離函數159
5.5.3 Dijkstra算法159
5.5.4 Floyd-Warshall算法165
習題169

第6章關係:特別是(整數)序列上的關係171
6.1關係和表示171
6.1.1矩陣表示171
6.1.2有向圖表示172
6.1.3關係的性質172
6.2等價關係173
6.2.1等價關係的矩陣和有向圖表示174
6.3序關係176
6.3 .1偏序的矩陣和有向圖表示177
6.3.2極小元和極大元178
6.4有限序列上的關係180
6.4.1支配180
6.4.2字典序182
6.5無限序列上的關係184
6.5. 1漸近支配和大O表示法185
6.5.2漸近等價和大Θ表示189
6.5.3漸近排序191
6.5.4強漸近支配和小o表示192
習題194

第7章序列和級數197
7.1遞推方程實例197
7.2求解一階線性遞推方程202
7.3 Fibonacci序列206
7.3.1 Fibonacci序列算法208
7.3.2黃金比例210
7.3.3 Fibonacci序列和黃金比例210
7.3.4 Fibonacci序列的階213
7.3.5 GCD的歐幾里得算法的複雜度213
7.4求解二階線性遞推方程216
7.5無限級數221
7.5.1芝諾悖論221
7.5.2序列和級數收斂的形式化定義222
習題227

第8章生成序列和子集231
8.1以字典序生成序列232
8.2生成{1..n}的所有k元序列234
8.2.1平均情況復雜度235
8.3生成{1..n}的升序序列子集237
8.4按字典序生成全排列244
8.4.1按字典序生成{1..n}的所有k元排列251
習題254

第9章離散概率和平均情況復雜度260
9.1概率模型260
9.1.1採樣空間260
9.1.2概率函數261
9.1.3特例:等概率輸出262
9.2條件概率264
9.2.1組合事件265
9.2 .2條件概率265
9.2.3獨立事件266
9.2.4互斥事件266
9.3隨機變量和期望值270
9.3.1期望頻率270
9.3.2期望值271
9.3.3概率分佈272
9.4標準分佈及其期望值273
9.4. 1均勻分佈273
9.4.2二項分佈276
9.4.3幾何分佈277
9.5條件期望值279
9.5.1條件期望282
9.6平均情況復雜度284
9.6.1將期望應用於線性查找284
9.6.2將期望應用於QuickSort285
習題289

第10章圖靈機293
10.1什麼是算法293
10.1.1 Church-Turing理論299
10.1.2通用圖靈機:計算模型299
10.1.3停機問題300
習題302
索引304