对计算机科学的掌握程度,决定了一个计算机行业从业者能走多远。

有了对计算机科学本质的认识,一个计算机专业的学生,通过一段时间的刻意练习和经验积累,就有可能成为计算机领域的专家。而练习则需要讲究方式方法,

《计算之魂》就为广大的计算机行业从业者提供了许多提升能力的有效方法。这些方法来自于作者在计算机领域多年的从业经验。

计算之魂

顾名思义,《计算之魂》讲述各种计算机理论和算法的灵魂,帮助读者全方位、深刻地了解计算机科学,培养一种善于利用计算机解决问题的新的思维方式,从而在计算机领域获得更大的成功。作者吴军博士把这种思维方式概括为计算思维。

《计算之魂》做到了专业性和趣味性相结合。在专业性方面,作者系统地讲述 了计算机科学领域最重要的理论和知识。在趣味性方面,作者选择了很多跨国公司 招聘中的实际问题作为案例进行分析和讲解,这些问题很有代表性和趣味性,作者 希望读者朋友可以通过搞懂这些问题,举一反三,对计算机科学的精髓有更深刻的 理解。

豆瓣评分9.3

《计算之魂》,作者把自己对计算机科学精髓和灵魂的理解,通过一些具体的例子拆解为10 个主题。这些例子都是渐进深入的,也是可以举一反 三的,通过它们大家可以逐渐把握计算机科学这门艺术,获得重复性成功。

在书中,作者用来讲述计算机科学艺术和精髓的例题,都是在 Google 和腾讯面试工程师候选人的考题, 以及美国顶级计算机公司(包括苹果、亚马逊、微软、 Facebook、领英、IBM、雅虎、优步、英特尔、甲骨文等)和金融企业的面试题。

对于每一道这样的面试题,作者会指出它们的难度:从 5 颗星(最难)到 1 颗星 (最容易)。即便是那些难度一两颗星的问题,在各种面试刷题网站上也属于难题。而难度四五颗星的问题,绝大部分面试者在解决时都会遇到一些困难,不过它们只占到书中面试样题的 10% ~ 20%,在实际的面试中这样难度的问题并不多见。难题之难,通常表现在三个地方。一是要求面试者对计算机科学有透彻的理解;二是要求他 们考虑问题能够全面;三是要求他们懂得成本和效率之间的平衡,特别是那些开放性问题。每一个问题可能有不止一个正确答案,但是不同的答案有好坏之分。无论是 Google、微软或者 Facebook,还是国内顶级的计算机企业,面试时不会简单给予面试者一个对或者错的评判, 而是根据他思考问题的方式以及给出的答案给予一个评分。 因此一个面试者不能只满足于找到了答案,而需要尽力寻找更好的答案。每一个计算机行业的从业者都应该明确一件事:作为一门应用科学,计算机科学中的很多问题都没有标准答案,只有更好的答案,而寻找更好的答案是计算机科学家和工程师努力的目标。

在书中,作者会讲解大约 40 道例题,它们大多是比较难的问题, 此外还会以思考题的形式提供大约 50 道面试题供大家参考。如果一个计算机工程师能够解决书中的大部分面试题,并且理解其中的道理,就完全可以被 Google、亚马逊、Facebook 或者微软这样的公司录用。当然,作者并不希望这本书变成求 职者面试前刷题的参考书,而是希望读者朋友通过具体的例子,从“术”的层面获得 “道”的层面的提升。因此,作者会详细分析解决这些例题所用到的计算机科学的精髓, 并且告之不同水平的人大约能思考到什么样的深度,这样大家如果有兴趣的话,可以衡量一下自己的水平,并且了解自己和前面各级之间的差距。

为了便于一些爱钻研的读者朋友深入思考,作者会每一章末尾出一些思考题和练 习题。这一方面是为了帮助大家理解计算机科学本质的问题,另一方面则是方便大家评估自己的水平,并且得到一些实战的训练。虽然我把这些问题全部解了一遍,有所有的最佳答案,并且请了 Google、微软以及一些大学的朋友核实了答案。

适合读者

目录

引子 计算的本质-从机械到电子

  • 0.1 什么是计算机
  • 0.2 机械计算机、布尔代数和开关电路
  • 0.3 图灵机:计算的本质是机械运动
  • 0.4 人工智能的极限

第 1 章 毫厘千里之差-大 O 概念

  • 1.1 算法的规范化和量化度量
  • 1.2 大数和数量级的概念
  • 1.3 怎样寻找最好的算法
  • 1.4 关于排序的讨论

第 2 章 逆向思考-从递推到递归

  • 2.1 递归:计算思维的核心
  • 2.2 遍历:递归思想的典型应用
  • 2.3 堆栈和队列:遍历的数据结构
  • 2.4 嵌套:自然语言的结构特征

第 3 章 万物皆编码-抽象与表示

  • 3.1 人和计算机对信息编码的差异
  • 3.2 分割黄金问题和小白鼠试验问题
  • 3.3 数据的表示、精度和范围
  • 3.4 非线性编码和增量编码(差分编码)
  • 3.5 哈夫曼编码
  • 3.6 矩阵的有效表示

第 4 章 智能的本质-分类与组合

  • 4.1 这是选择分类问题
  • 4.2 组织信息:集合与判定
  • 4.3 B+ 树、B* 树:数据库中的数据组织方式
  • 4.4 卡特兰数

第 5 章 工具与算法-图论及应用

  • 5.1 图的本质:点与线
  • 5.2 图的访问:遍历和连通性
  • 5.3 构建网络爬虫的工程问题
  • 5.4 动态规划:寻找最短路径的有效方法
  • 5.5 最大流量:解决交通问题的方法
  • 5.6 最大配对:流量问题的扩展

第 6 章 化繁为简-分治思想及应用

  • 6.1 分治:从O(N2) 到O(N log N)
  • 6.2 分割算法:快速排序和中值问题
  • 6.3 并行初探:矩阵相乘和 MapReduce
  • 6.4 从机器学习到深度学习:Google 大脑

第 7 章 权衡时空-理解存储

  • 7.1 访问:顺序 vs. 随机
  • 7.2 层次:容量 vs. 速度
  • 7.3 索引:地址 vs. 内容

第 8 章 并行与串行-流水线和分布式计算

  • 8.1 流水线:逻辑串行和物理并行
  • 8.2 摩尔定律的两条分水岭
  • 8.3 云计算揭密:GFS 和 MapReduce

第 9 章 状态与流程-等价性与因果关系

  • 9.1 从问题到状态
  • 9.2 等价性:抽象出状态的工具
  • 9.3 因果关系:建立状态之间的联系

第 10 章 确定与随机-概率算法及应用

  • 10.1 信息指纹:寓确定于随机之中
  • 10.2 随机性和量子通信
  • 10.3 置信度:成本与效果的平衡

第 11 章 理论与实战-典型难题精解

  • 11.1 最长连续子序列问题
  • 11.2 区间合并问题
  • 11.3 12 球问题
  • 11.4 天际线问题
  • 11.5 最长回文问题(Longest Palindrome Match)
  • 11.6 计算器问题
  • 11.7 如何产生搜索结果的摘要(Snippets Generation)
  • 11.8 寻找和等于k 的子数组问题

作者简介

掌握计算机科学的精髓,从这本豆瓣评分9.3的书开始相关推荐

  1. 信科c语言实验程序修改题_豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了.........

    上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...

  2. 豆瓣评分9.3,陪伴无数程序员成长的神作,终于升级了!

    要说 C 语言,那可真是编程语言里的老大哥了.大学时,很多人学习编程的时候都是从 C 语言上手的.经典的 C 教材是谭浩强老师编写的<C程序设计>,简直堪称一代人的回忆.但是理论派的教材并 ...

  3. 豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了......

    上周,在小编的各种努力下(省略一万字),Kindle 官方终于答应给我一个广告位了.虽然只是开机屏,但我还是笑出了猪叫,毕竟上一次有这待遇还是 2018 年时的<算法图解>.所以错过了上次 ...

  4. 豆瓣评分8.0以上,2021年程序员新书大盘点

    今天是元旦,小编祝大家元旦快乐!多拿年终奖.今天带大家盘点一下2021年出版的程序员新书中豆瓣评分8.0以上的书.顺序是出版时间的倒序. 1.计算之魂 : 计算科学品位和认知进阶 豆瓣评分9.4 吴军 ...

  5. 豆瓣评分9.3,吴军博士重磅新作,修炼你的计算思维!

    有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后."也有人说"一部IT人非读不可, ...

  6. 豆瓣评分9.3,吴军博士重磅新作,修炼你的计算思维!(文末赠书)

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后.& ...

  7. 豆瓣评分9.3的好书,文末给大家抽奖送几本!

    有人说"程序员分为两类:看过<数学之美>的与没看过的.程序员职业生涯也可分为两个阶段:读了<数学之美>之前与之后."也有人说"一部IT人非读不可, ...

  8. python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...

    豆瓣这些9.0以上的高评分程序员好书你都知道有哪些吗?小编去豆瓣看了一下,推荐这8本最适用的程序员好书给你. 1.UNIX环境高级编程(第3版)(豆瓣评分9.6)UNIX编程圣经 与Linux相结合的 ...

  9. 人类视觉计算理论经典著作,豆瓣评分9.7,中文版惊鸿面世!

    关注公众号,发现CV技术之美 今天给大家介绍一本豆瓣评分高达9.7分.成书于40多年前的神书: Vision:A Computational Investigation into the Human ...

最新文章

  1. Google刚刚开源了一款用于测试iOS应用的工具:EarlGrey
  2. UCenter创始人密码正确但是登录不了
  3. WebService怎样在IIS上部署
  4. 科大星云诗社动态20210601
  5. 一个页面同时发起多个ajax请求,会出现阻塞情况
  6. web前端之HTML
  7. Python中yield的作用:迭代生成器
  8. git merge 步骤
  9. 【机器学习】语音处理介绍
  10. 燃料电池系统建模(未完待续)
  11. 评测|HPE Nimble AF全闪存系列,诠释真正的高端存储
  12. 作文素材:看完这23种蔬菜描写,恨不得穿过屏幕吃掉它们!
  13. webcron 定时任务管理系统
  14. Kali linux渗透测试系列————29、Kali linux 渗透攻击之无线网络攻击
  15. 计算机毕设题目设计与实现(论文+源码)_kaic
  16. 实现登陆功能——用户登录设计
  17. GIS简介--GIS可以做什么?
  18. 长安链ChainMaker基于公钥用户标识的身份模式介绍
  19. Linux系统日志查询
  20. 利用API函数实现图像淡入淡出效果(VB)

热门文章

  1. HTML5实现学生档案
  2. html+css:折扇效果
  3. UE4 脚部IK Foot Placement 的实现
  4. 更多国企尚处于数字化转型的起步期,国企转型之路在哪?
  5. 马云关于人工智能的演讲
  6. 能源大数据应用的现状及前景
  7. 毫米波雷达人体存在感应,精准感知人体存在,感知既互动
  8. 90后破了60年未解数学难题 将面临无学可上的尴尬
  9. 数据结构课设个人(五):快速排序
  10. 【知识兔】自学Excel之9:数据输入与编辑(高级技巧)