-
计算之魂(吴军)
-
引子 计算的本质——从机械到电子
-
第 1 章 毫厘千里之差——大O概念
-
1.1 算法的规范化和量化度量
-
软件为什么从计算机科学中分离出来?
- 最初计算机是用于计算,而拥有了计算的基础功能,为了更高效计算更多公式,才有了软件用来调用硬件。
-
世界上还有什么产品类似于计算机,是软硬件分离的?
- 小米智能家居、绝大部分物联网产品
- 补充:人工智能、单片机等
- 人:肉体是硬件、思想是软件
-
-
1.2 大数和数量级的概念
-
算法的速度为什么重要?
- 算法的速度越快,在产品使用的效率越高
-
为什么数不清大数?
- 世界上的数字通常有不同的换算单位,不同的度量标准,和不同的背景环境
-
如何度量算法的快慢?
- 算法复杂度(高德纳):只需要考虑数据量近乎无穷大(N)的情况
-
围棋有多复杂?
- 一个交叉点有3种情况(黑、白、空),一共361个交叉点,变换有3的361次方约等于2*10的172次方。
-
一句有20个单词的英语语句可以有多少种组合?
- 假设有10万个英语单词,从十万种挑出20个,大约是10的100次方
-
如果一个程序只运行一次,在编写它时,你是采用最直观但是效率最低的算法,还是依然最找复杂度最优的算法?
- 考虑应用场景,分析当前场景需要达到的运行时间是多少,再进行编码,如果需要多次复用,应不断寻找更加优秀的算法。
-
-
1.3 怎样寻找最好的算法
-
1.4 关于排序的讨论
-
-
第 2 章 逆向思考——从递推到递归
-
第 3 章 万物皆编码——抽象与表示
-
第 4 章 智能的本质——分类与组合
-
第 5 章 工具与算法——图论及应用
-
第 6 章 化繁为简——分治思想及应用
-
第 7 章 权衡时空——理解存储
-
第 8 章 并行与串行——流水线和分布式计算
-
第 9 章 状态与流程——等价性与因果关系
-
第 10 章 确定与随机——概率算法及应用
-
第 11 章 理论与实战——典型难题精解
-
参考资料:
- 计算之魂 豆瓣
- 【Datawhale202208《吴军计算之魂》】_跑龙套的花灵龙的博客-CSDN博客
-