内容介绍
本书以通俗易懂的语言向读者描述了各类常用算法。全书包括四个部分,涉及排序与搜索、算术与密码、规划、协同与设计、优化四个领域,每个部分都给出该领域中常用的算法,每一个算法都从一个实际的生活场景引入。通过作者深入浅出的介绍,读者可以轻松了解计算机科学中常用的算法的原理,具备初步的计算思维能力。本书适合作为高校计算机科学入门课程的教材,也适合作为计算机科学的科普书籍。
无处不在的算法(双色版)
本书是在一系列给中学生普及算法和计算思维的讲座基础上整理编写的,选择了计算机科学中一些有重要应用价值的典型问题,用通俗易懂的语言介绍著名的算法思想。尽管本书的初衷是让高中生领会算法和计算机科学的奇妙与魅力,但它同样适合已经进入大学计算机类专业学习的学生阅读,目的是使学生欣赏计算机科学有趣的一面,也能对“我们如何解题”有更深入的理解。对于从事计算机教学尤其是基础教育的广大教师,也可以从本书中得到启发与收获。
目录
●译者序
前言
第一部分搜索与排序
第1章二分搜索3
第2章插入排序8
第3章快速排序11
第4章并行排序——追求速度18
第5章拓扑排序——合理安排任务执行次序26
第6章快速搜索文本——Boyer-Moore-Horspool算法32
第7章深度优先搜索39
第8章Pledge算法——如何从黑暗的迷宫中逃脱48
第9章图中的回路52
第10章PageRank——搜索万维网60
第二部分算术与密码
第11章大整数相乘——比长乘更快69
第12章欧几里得算法76
第13章埃拉托色尼筛法——计算素数表能有多快81
第14章单向函数的陷阱——掉下去就出不来了91
第15章一次性加密算法——最简单、最安全的保密方式98
第16章公钥密码103
第17章如何共享机密112
第18章通过电子邮件玩扑克119
第19章指纹128
第20章哈希方法138
第21章编码——防止数据出错或丢失143
第三部分规划、协同与模拟
第22章广播——如何迅速发布信息155
第23章将数字转换为英语单词161
第24章确定多数——谁当选为班级代表166
第25章随机数——如何在计算机中创造随机172
第26章火柴游戏的取胜策略179
第27章体育联赛日程编排184
第28章欧拉回路190
第29章快速画圆195
第30章计算物理问题的高斯-赛德尔迭代202
第31章动态规划——计算进化距离208
第四部分优化
第32章最短路径215
第33章最小生成树——有时贪心也有回报221
第34章优选流——在高峰时刻去体育场226
第35章婚姻介绍人235
第36章圆闭包243
第37章在线算法246
第38章装箱问题251
第39章背包问题257
第40章旅行推销商问题263
第41章模拟退火270
内容介绍
本书以通俗易懂的语言向读者描述了各类常用算法。全书包括四个部分,涉及排序与搜索、算术与密码、规划、协同与设计、优化四个领域,每个部分都给出该领域中常用的算法,每一个算法都从一个实际的生活场景引入。通过作者深入浅出的介绍,读者可以轻松了解计算机科学中常用的算法的原理,具备初步的计算思维能力。本书适合作为高校计算机科学入门课程的教材,也适合作为计算机科学的科普书籍。
微信支付
支付宝
扫一扫购买