send_linux 发表于 2010-02-08 10:42

《算法之道》介绍

为了方便C/C++版面CUer对新技术和新知识的追求,我们会不定期的提供一些大家喜欢的和版本相关的技术类图书,采取拍卖的方式进行,欢迎本讨论区爱好技术的各位CUer参与竞拍。

    同时,也欢迎大家提议更多大家喜好的技术图书,我们后期会尽量的去提供,给大家更多更好的选择。

    本次的书籍是提供给本版的技术爱好者和相关从业人员的(至少本版发帖20贴以上),所以非本版人员请勿扰乱拍卖活动,欢迎大家监督!

算法之道
http://images.china-pub.com/ebook195001-200000/196344/zcover.jpg?2010-2-5%200:13:34
[*]作者:邹恒明[*]出版社:机械工业出版社[*]ISBN:9787111294948[*]上架时间:2010-1-29[*]出版日期:2010 年2月[*]开本:16开[*]页码:292[*]版次:1-1
图书简介:

本书追求的目标是算法背后的逻辑,是一本启示书,而不是一本包罗万象的算法大全。因此,本书甄选了那些最能够展现算法思想、战略和精华,并能够有效训练算法思维的内容。本书将算法的讨论分为五大部分:算法基础篇、算法设计篇、算法分析篇、经典算法篇、难解与无解篇。每一个部分分别讨论算法的一大方面:基础、设计、分析、经典和难解问题。
    本书既可以作为大学本科或研究生的算法教材或参考书,也可以作为对算法有兴趣的读者提升认知深度的读物。

图书目录:

前言
    第一篇算法基础篇
    第1章从无有到无穷        2
    1.1意念与现实        3
    1.2什么是算法        4
    1.3算法的表示        6
    1.4算法之魂        7
    1.5如何比较速度        8
    1.6算法与计算机的关系        9
    1.7算法的范畴        10
    1.8为什么学习算法        10
    思考题        11
    第2章计数与渐近        12
    2.1算法的分析        12
    2.1.1正确性分析        13
    2.1.2时空效率分析        14
    2.1.3时空特性分析        14
    2.2计数:算法分析的核心        14
    2.3算法设计        15
    2.4算法效率表示        16
            .2.5渐近分析        17
    2.6O、(、(表示        18
    2.7最好、最坏、平均        19
    2.8O、(、(的另一类定义        21
    2.9O、(、(的性质        22
    2.10要更快的计算机还是要更快的算法        22
    思考题        23
    第3章分治与递归        25
    3.1分而治之为上策        26
    3.2分治策略        28
    3.3递归表达式求解        29
    3.3.1递归树法        29
    3.3.2替换解法        30
    3.3.3大师解法        32
    3.4分治策略举例1:乘方运算        35
    3.5生命不能承受之重:矩阵乘法        36
    3.6魔鬼序列:斐波那契序列        38
    3.7VLSI 布线        41
    3.8多项式乘法        43
    3.9分治就在潜意识深处        43
    思考题        43
    第二篇算法设计篇
    第4章动态规划思想        46
    4.1什么是动态规划        47
    4.2流水装配线问题        48
    4.3最长公共子序列        52
    4.3.1第一种解法:蛮力策略        52
    4.3.2第二种解法:动态规划        53
    4.4最长公共子序列变种        55
    4.5记忆递归法        55
    4.6空间效率改善        56
    4.7最优二叉搜索树        56
    4.7.1递归解法        59
    4.7.2计算最优答案        59
    4.8最优子结构与重叠子问题        62
    4.8.1最优子结构        62
    4.8.2重叠子问题        63
    4.9动态规划与静态规划的关系        63
    4.10动态规划与静态规划的相互转换        64
    思考题        65
    第5章贪婪选择思想        67
    5.1仅有动态规划是不够的        67
    5.2什么是贪婪        68
    5.3背包问题        68
    5.4贪婪选择属性        71
    5.5教室规划问题        72
    5.6最小生成树        76
    5.6.1Kruskal算法的正确性        79
    5.6.2Kruskal算法的时间分析        80
    5.7Prim算法        80
    5.8霍夫曼树和霍夫曼编码        83
    5.8.1霍夫曼树        85
    5.8.2霍夫曼编码        86
    5.8.3霍夫曼编码的无前缀编码性质        87
    5.9贪婪选择属性        88
    5.10标准分治、动态规划和贪婪选择的比较        89
    思考题        90
    第6章随机化思想        92
    6.1为什么要随机化        93
    6.2随机的平方        94
    6.3什么是随机化算法        95
    6.4拉斯维加斯算法        96
    6.5蒙特卡罗算法        97
    6.6素性测试        97
    6.7矩阵乘积验证器        100
    6.8随机化最小生成树算法        102
    6.8.1Karger-Klein-Tarjan算法        103
    6.8.2节点降低算法        103
    6.8.3线性时间最小生成树算法        104
    6.8.4线性时间最小生成树算法的时间成本分析        104
    6.9随机数的生成        105
    6.10随机化算法的应用        105
    思考题        106
    第三篇算法分析篇
    第7章概率分析        108
    7.1一切都在概率中        109
    7.2什么是概率分析        109
    7.3梦幻情人的代价        110
    7.3.1直接分析        112
    7.3.2最坏情况分析        113
    7.3.3最好情况分析        113
    7.3.4平均情况分析        113
    7.3.5平均情况下成本的概率分析        113
    7.4概率分析结果的有效性        114
    7.5正确概率分析的保障        115
    7.6梦幻情人的概率        115
    7.7随机排列问题        117
    7.8南柯一梦:从无穷到无有        119
    7.9概率分析的其他应用        120
    思考题        121
    第8章摊销分析        122
    8.1什么是摊销分析        123
    8.2摊销分析与数据结构        124
    8.3摊销分析的几种方法        124
    8.4聚类分析        125
    8.4.1栈操作的聚类分析        125
    8.4.2二进制计数器的聚类分析        126
    8.5会计分析        128
    8.6势能分析        130
    8.6.1栈操作的势能分析        130
    8.6.2二进制计数器的势能分析        131
    8.7摊销分析应用:表格扩展的代价        131
    8.7.1动态表插入操作的聚类分析        134
    8.7.2动态表插入操作的会计分析        134
    8.7.3动态表插入操作的势能分析        136
    8.8运气不好就摊销        137
    思考题        138
    第9章竞争分析        139
    9.1什么是竞争分析        139
    9.2在线算法和离线算法        141
    9.3竞争力        142
    9.4健忘对手和优良对手        142
    9.5线性表更新问题        143
    9.6前置移动算法的竞争分析        145
    9.7聚类问题        147
    9.7.1聚类问题的次优解算法        148
    9.7.2CLUSTERING-ALGORITHM算法的竞争分析        148
    9.8竞争分析与普通算法分析        149
    思考题        149
    第四篇经典算法篇
    第10章排序和次序        152
    10.1排序无处不在        152
    10.2插入排序        153
    10.2.1插入排序的效率分析        154
    10.2.2折半插入排序        155
    10.3归并排序        156
    10.4快速排序        158
    10.4.1快速排序的过程        158
    10.4.2快速排序的时间复杂性分析        159
    10.4.3最坏情况分析        160
    10.4.4最好情况分析        160
    10.4.5平均情况分析        161
    10.5随机化快速排序        162
    10.6排序的下限        164
    10.7线性排序        165
    10.8计数排序        166
    10.9基数排序        168
    10.9.1基数排序的正确性        169
    10.9.2基数排序的时间效率分析        170
    10.10桶排序        171
    10.10.1桶排序的定义        172
    10.10.2桶排序的正确性        173
    10.10.3桶排序的时间复杂性分析        173
    10.11次序选择        175
    10.12快速次序选择算法        176
    10.13随机快速次序选择算法        178
    10.14最坏情况下的线性选择算法        179
    10.14.1杠杆点好坏分析        180
    10.14.2算法的时间复杂性分析        181
    思考题        181
    第11章搜索与哈希        183
    11.1搜索问题        184
    11.2顺序搜索        184
    11.3折半搜索        185
    11.4常数搜索        186
    11.5哈希搜索        187
    11.6哈希函数选择        189
    11.6.1直接哈希        189
    11.6.2除法(模除法)哈希        190
    11.6.3乘法哈希        191
    11.6.4乘法哈希的赌徒原理        192
    11.6.5乘方取中法        193
    11.7哈希算法的碰撞问题        193
    11.7.1开放寻址哈希        193
    11.7.2开放寻址哈希的时间成本        194
    11.7.3开放寻址下成功搜索的时间成本        195
    11.7.4封闭寻址哈希        196
    11.7.5探寻序列的设计        197
    11.7.6封闭寻址哈希的效率分析        199
    11.7.7搜索不成功的时间成本        199
    11.7.8成功搜索的效率分析        201
    11.8哈希表元素删除        201
    11.9随机化哈希        202
    11.10全域哈希        203
    11.11全域哈希构造        204
    11.12完美哈希        206
    思考题        208
    第12章最短路径        211
    12.1剑指罗马        211
    12.2最短路径问题        213
    12.3单源单点最短路径问题        215
    12.3.1深度优先搜索与广度优先搜索        215
    12.3.2深度优先解法        217
    12.4单源多点最短路径问题        218
    12.4.1最短路径的性质        219
    12.4.2Dijkstra最短路径算法        220
    12.4.3Dijkstra算法举例        221
    12.4.4Dijkstra算法与洪水泛滥        222
    12.4.5Dijkstra算法的正确性        223
    12.4.6Dijkstra算法的时间复杂性        224
    12.5Bellman-Ford算法        226
    12.5.1负权重的应对方式        227
    12.5.2Bellman-Ford算法的正确性        230
    12.5.3负循环检查问题        231
    12.5.4Bellman-Ford算法的时间复杂性        231
    12.6多源多点最短路径问题        232
    12.6.1多源多点最短路径问题解决思路        232
    12.6.2直接动态规划解法        233
    12.6.3矩阵乘法解法        234
    12.6.4Floyd-Warshall 算法        235
    12.6.5Johnson 算法        236
    12.6.6Johnson等效变换        237
    12.6.7差限问题解决        238
    12.7天意难违        240
    思考题        240
    第五篇难解与无解篇
    第13章可解与不可解        244
    13.1我们战无不胜吗        245
    13.2易解与难解        245
    13.3决策问题和优化问题        246
    13.4决策问题        247
    13.5P类问题        247
    13.6NP类问题        248
    13.7 (确定性)图灵机        249
    13.8非确定性图灵机        249
    13.9非确定性算法        250
    13.10回到NP类问题        251
    13.11P和NP        252
    13.12搜索问题、决策问题和优化问题        253
    13.13有没有解和是否可决定        253
    思考题        254
    第14章NP完全问题        256
    14.1玉龙雪山下的审判        256
    14.2NP完全问题的定义        257
    14.3NP完全的重要性        258
    14.4多项式时间规约        259
    14.5如何证明一个问题S是NP完全        259
    14.6第1个NP完全问题的证明        260
    14.7库克定理        260
    14.83-SAT问题        263
    14.9证明NP难的技巧        264
    14.10整数规划        265
    14.11独立集问题        266
    14.12汉密尔顿回路问题        268
    14.13讨论:弱NP完全、强NP完全和中NP完全        271
    思考题        272
    第15章无解与近似        273
    15.1难解问题        274
    15.2不可决定问题        274
    15.3程序终结的判断        275
    15.4难解之题的求解        276
    15.5智能穷举、近似算法和本地搜索        277
    15.6智能穷举之回溯策略        279
    15.7智能穷举之分支限界        280
    15.8贪婪近似策略        280
    15.9启发式搜索策略        281
    15.10模拟淬火算法        282
    15.10.1模拟淬火算法的思想        284
    15.10.2模拟淬火算法的基本循环        284
    15.10.3淬火算法描述        284
    思考题        286
    结语算法之道        288
    附录算法随想        290
    参考文献        293
页: [1]
查看完整版本: 《算法之道》介绍