豆瓣评分 9.4 的编程巨著!《算法》
本次联合图灵出版社文末送10本《算法》!
说到算法巨著,你可能想到的是《算法导论》这本经典。但在入门算法时,还有一本与之比肩的巨著,不得不提,它就是《算法(第4版)》。
这本豆瓣评分 9.4 的算法巨著,可谓是算法经典好书,给了无数人帮助。它是由普林斯顿的 Robert Sedgewick 和 Kevin Wayne 所写,其中 Sedgewick 作为 Knuth 的学生,继承了他们这一派的算法分析思路。
《算法(第4版)》全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。在第 4 版中,还具体给出了每位程序员应知应会的 50 个算法,不仅提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。
这本书初学者看完不会有挫败感,不会给你一种“啃”书的感觉,而是跟着作者的思路一点点地带入。因为其内容对初学者友好,《算法(第4版)》也收获了众多粉丝。看看读者都是怎么评价的:
“这本书很适合刚刚入门或者离开校园已久需要复习一下算法基础的人。说起实用性,这本书比很多同类的书好太多了。省去了很多数学推导,非常适合需要准备面试,需要快速回顾一下基本的算法及其实现的人。”
“最好的算法入门书,当之无愧。内容全面实用,覆盖常用的排序、查找、图、字符串操作,讲解生动,能用简单精炼的语句将复杂问题讲清楚,可见作者的算法和语言功力都很出色。”
“不愧是大师的作品,读起来酣畅淋漓。这本书架构清晰明了,算法思想通俗易懂,学完很难忘记。其中的思想给我带来了一个新的世界,在这个世界我见识了很多新奇又好玩的事物。读此书犹如小孩把玩自己的玩具,久久不能放下。”
这样一本神作,影响了一代又一代的程序员。如果你想全面了解算法,希望你能走近这本书。
☟
整本书基于 Java,第一章就很简洁地讲解了 Java 的主要内容,没学过 Java 的人,也可以轻松上手。而且本书代码实现非常详细,内容比较简单,一步步用图告诉你代码是如何运行的,所有算法都很基础,不仅适合大学生阅读,还适合初入职场需要提升的职场小白们,以及中高级工程师回顾补充算法知识之用。
下面是这本书的目录(滑动查看):
目录
这里给大家一点小建议,第一章的 1.2 数据抽象和 1.4 算法分析一定要仔细读, 因为这两节是全书的基础。
第二章到第五章也要仔细看, 涉及到的算法一定要跟着敲一遍。
第四章图论是相对独立的一章,只有在第五章正则表达式的 NFA 的构造中会用到有向图中的知识, 里面涉及到的算法也比较容易理解。
书中部分小节后面有习题、答疑等,小伙伴们一定要跟着练习才能巩固提高。下面选取 1.4 的答疑部分,给各位同学展示一下。
1
在近似函数的定义中,“随着N 的增大”确切的意思是什么?
滑动滚动条查看答案
f(N)~g(N) 的正式定义为limN→∞f(N)/g(N)=1。
2
我还见到过其他表示增长的数量级的符号,它们都表示什么意思?
滑动滚动条查看答案
使用最广泛的记法是“大O”:对于f(N) 和g(N),如果存在常数c 和N0 使得对于所有N>N0 都有| f(N) | < cg(N),则我们称f(N) 为O(g(N))。这种记法在描述算法性能的渐进上限时十分有用,这在算法理论领域是十分重要的,但它在预测算法性能或是比较算法时并没有什么作用。
3
当一个算法的运行时间的增长数量级为NlogN 时,根据双倍测试会得到它的运行时间为~ aN 的猜想(其中a 为常数)。这有问题吗?
滑动滚动条查看答案
需要注意的是,我们不能根据实验数据推测它们所符合的某个特定的数学模型。但如果我们只是在预测性能,这并不是什么问题。例如,当N 在16 000 到32 000 之间时,14N 和NlgN 的图像非常接近。这些数据同时与两条曲线吻合。随着N 的增大,两条曲线更为接近。想要用实验来检验一个算法的运行时间是线性对数级别而非线性级别是要费一番工夫的。
4
int[] a = new int[N] 表示N 次数组访问吗(所有数组元素均会被初始化为0)?
滑动滚动条查看答案
大多数情况下是的,我们在本书中也是这样假设的,不过复杂编译器的实现会在遇到大型稀疏数组时尽力避免这种开销。
另外,配套网站 algs4.cs.princeton.edu 还提供了本书内容摘要以及相关代码、测试数据、编程练习、教学课件等资源,有需要的同学们可以自行查找。
图书简介
本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第 4 版具体给出了每位程序员应知应会的 50 个算法,提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。本书适合用作大学教材或从业者的参考书。
本书特色
Sedgewick 之巨著,与高德纳 TAOCP 一脉相承
几十年多次修订,经久不衰的畅销书
涵盖所有程序员必须掌握的 50 种算法
作者介绍
Robert Sedgewick
斯坦福大学博士,导师为 Donald E. Knuth,从 1985 年开始一直担任普林斯顿大学计算机科学系教授,曾任该系主任,也是 Adobe Systems 公司董事会成员,曾在 Xerox PARC、国防分析研究所(Institute for Defense Analyses)和法国国家信息与自动化研究所(INRIA)从事研究工作。他的研究方向包括解析组合学、数据结构和算法的分析与设计、程序可视化等。
Kevin Wayne
康奈尔大学博士,普林斯顿大学计算机科学系高级讲师,研究方向包括算法的设计、分析和实现,特别是图和离散优化。
文末赠书
文末小福利,评论区说说你看过哪本算法书,收获如何?或者已经看过这本书的小伙伴可以一句话推荐一下这本书。本期将选取 3 位送上珍贵的《算法(第4版)》一本。截止时间:2021.8.10 12:00
另外,我们要发出好书推荐官活动,如果你读过这本书,并且觉得这本书对自己的帮助很大,想推荐给更多的朋友的话,欢迎大家来为这本书写书评,成为好书推荐官。我们还会提供稿费哦!有意向的伙伴可以发邮件至:xingl@turingbook.com。
京东自营满100-50活动开始啦!
今日入手《算法》,只要77.88元!
活动截止:8月8日
赠书福利(包邮送10本!)
《算法(第4版)》全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。在第 4 版中,还具体给出了每位程序员应知应会的 50 个算法,不仅提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。
送书规则
1、计算机视觉联盟公众号的读者,且在看本文
2、后台回复关键词20210807参与抽奖
豆瓣评分 9.4 的编程巨著!《算法》相关推荐
- 豆瓣评分 9.3 的 Java 巨著 | Bruce Eckel 重讲 Java 的编程思想
硅谷创业之父 Paul Graham 曾在<黑客与画家>中写道:"判断一种语言是否流行的条件是,一种免费的实现,一本相关的书籍,以及语言所依附的计算机系统." 当然,J ...
- 豆瓣评分 9.4 的算法巨著,这本书带无数读者入门算法
说到算法巨著,你可能想到的是<算法导论>这本经典.但在入门算法时,还有一本与之比肩的巨著,不得不提,它就是<算法(第4版)>. 这本豆瓣评分 9.4 的算法巨著,可谓是算法经典 ...
- python编程入门经典 评分-豆瓣评分爆炸!Python+机器学习经典图书
全场自营图书每满 100 减 50 元 .满 200 元减 100 元, 另外当当还特意为[机器学习算法与Python实战]读者提供了一批可与满减叠加使用的"满 200 减 40" ...
- python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...
豆瓣这些9.0以上的高评分程序员好书你都知道有哪些吗?小编去豆瓣看了一下,推荐这8本最适用的程序员好书给你. 1.UNIX环境高级编程(第3版)(豆瓣评分9.6)UNIX编程圣经 与Linux相结合的 ...
- 豆瓣评分9.3,吴军博士重磅新作,修炼你的计算思维!
有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后."也有人说"一部IT人非读不可, ...
- 豆瓣评分9.3,吴军博士重磅新作,修炼你的计算思维!(文末赠书)
以下内容来自公众号逆锋起笔,关注每日干货及时送达 有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后.& ...
- 豆瓣评分9.3的好书,文末给大家抽奖送几本!
有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后."也有人说"一部IT人非读不可, ...
- 信科c语言实验程序修改题_豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了.........
上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...
- 豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了......
上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...
最新文章
- linux 下安装MySQL
- PANS最新脑神经科学研究:激活一种新语言并不费力气
- 嵌入式linux内核编译感想,嵌入式Linux内核的交叉编译编译-基于2.6.26
- PHP获取页面执行时间的方法
- 第7周项目实践 1 队列算法库的建立
- js 数组、对象转json 以及json转 数组、对象
- 为什么手机网速太慢_为什么手机信号满格,网速却很慢?终于知道为啥了
- 深入浅出Dotnet Core的项目结构变化
- ws flv连接播放得测试代码
- 小解系列-解决WebUploader在谷歌浏览器下弹出框打开慢,在Bootstrap模态框内部多次点击才能触发的问题
- IEC103规约介绍
- 程序员如何写一份打动面试官的简历?这些坑你必须注意了!
- Android 数独游戏开发,强逻辑的梳理
- 外币折算、汇兑损益、重估
- Soul向港交所递交上市申请,持续发力社交元宇宙赛道
- laravel导出excel
- echarts 动态数据动画效果
- 广东计算机考试只能在学校报名吗,广东省计算机等级考试报名考点名单
- “泰迪杯”挑战赛 - 基于用户协同过滤算法的电影推荐系统(附算法代码)
- 12月世界燕窝滋补品展|上海燕博会|冻干燕窝展联合滋补生态大会,共赴新未来
热门文章
- 百度seo排名规则_SEO:百度搜索引擎排名规则都有哪些?
- android将项目添加到github,将github库作为依赖添加到Android-Studio项目中
- python代码控制机械臂_选用什么样的系统或平台开发机器人/机器臂?
- python io操作有什么_Python文件IO操作
- java小区管理的项目描述,基于jsp的小区信息管理-JavaEE实现小区信息管理 - java项目源码...
- python中字典的索引_按索引访问Python字典的元素
- Argument list too long 文件数过多
- python和什么一起学_java和python可以一起学吗
- matlab傅里叶变换去噪代码,小波的分析在心电信号去噪中应用(内附Matlab去噪源代码).ppt...
- uos系统虚拟机_体验中兴深度联合推出的「UOS」统一操作系统