PART ONE   

高德纳奠定了计算机算法的基础,程序=数据结构+算法,要想写好一个计算机程序,一个好的算法需要经过不断的打磨,需要有深厚的数学功底,同时对计算的数学本质有清晰的认识。

“冯·诺依曼体系结构”,将计算机系统分为软件系统和硬件系统,硬件系统又由存储器,运算器,控制器,总线,输入输出设备,在其设计该计算机时,提出在计算机科学中,更多时候是需要顶层设计的,而不是从经验出发归纳总结,那么什么是顶层设计?怎样进行顶层设计呢?

1.1节后半部分介绍了算法基础的奠基人--高德纳的五大贡献,比如提出衡量一个算法好坏的大O阶的方法,以及编写了计算机科学领域的“圣经”——《计算机程序设计艺术》一书,很好地讲述了程序设计的基本算法,对计算数学的前路产生了重大影响,为我们深入理解算法的艺术和数学的计算之美提供了一条捷径等等。虽然冯·诺依曼发明计算机体系结构和高德纳编写TeX程序似乎都是偶然为之的结果,但为什么这些大师们偶然为之的工作比二流人才穷其一生的发现有时还有影响力呢?因为除了能力的差异外,他们还有着遇到问题时解决问题的积极态度。任何人在前进的过程中都会遇到问题,但是对待问题的态度决定了个人的命运,他们总是积极思考,能够清晰地洞察问题的本质,从而找出异于常人的最优方案,因而能成为前沿科学与技术的开创者,这是值得我们学习的。

冯*诺依曼体系结构,软件从计算机科学中分离出来。由于软件和硬件系统的分离,从而使得我们能够在不清楚其硬件结构时也能实现应用软件的开发·。(在基于系统软件的情况下)

思考题1.1

世界上还有什么产品类似于计算机,是软硬件分离的?( 难度系数1颗星)

嵌入式系统,实行软件与硬件分开设计

PART TWO

苏联著名的物理学家、诺贝尔奖获得者朗道把物理学家分为了五级。一级的能力和贡献是二级的10倍,二级又是三级的10倍,就这样,每一级之间差一个数量级,朗道的这个划分方法也适用与计算机科学与的学者和工程师,一级能够开创一个产业,二级能够成为科学和技术的先驱,三级可以把自己的技术和产品做到世界第一,这要求学者能对计算机内在的逻辑有深刻的理解并且能学会权衡,四级能够独立负责一个大型项目,能够提出比一般人要好的方案或者算法,五级需要能够独立完成一些技术性的工作,能够利用计算机解决所有日常问题,要想达到一定的高度,最为关键的应当是对计算机科学的理解与其本质的认识。

生活环境的限制使得人们对计算资源的认识也具有了一定的局限性,特别由于时代的进步和科技的迅速发展,人们天生对计算机资源没有概念,总觉得它的速度无穷大,内存用不完,因此很多人会无端浪费很多资源,因而在硬件资源一定时,软件的差异成为了计算机学者需要考虑的问题,要衡量算法的好坏,就必须先明确算法的衡量标准以及测试的方法,算法复杂度应运而生,成为对算法进行分析的重要方式。

算法分析核心思想:

1.在比较算法的快慢时,只需要考虑数据量特别大,大到近乎无穷大时的情况,因为计算机的发明就是为了处理大量数据的,而且在当今这个数据爆炸的时代,数据越处理越多,这要求我们必须要考虑大数的情况。

2.决定算法快慢的因素虽然可能有很多,但是所有的因素都可以被分为两类:第一类是不随数据量变化的因素,第二类是随数据量变化的因素。但是我们衡量算法好坏时,只需要考虑N近乎无穷大的情况。(为什么这么考虑问题呢?因为计算机的任务是处理远远超出我们想象的规模的数据量,而我们的认知其实很难想象那样规模的数据有多少。)

书中有俩个有趣的例子,特别是例2,不可能在巨大的多维空间中进行语音识别,故而统计语言模型的提出极大的缩减了其搜索的空间,降低了其对计算资源的高额要求,即使这样,我们依然可以通过思考来提出更好的算法。

3.两种算法在复杂度上相差哪怕只有一点点,N很大之后,效率可能就差出万亿倍了,如果选择的算法在复杂度的数量级上相差那么一点点,代码执行的效率就有天壤之别,这是由算法本质所决定的,因而要想做到能处理大量数据,就必须要从计算的本质出发,要将注意力放在数量级的差异上,从而更好地提升计算性能。

思考题1.2

如果一个程序只运行一次,在编写它的时候,你是采用最直观但是效率较低的算法,还是依然寻找复杂度最优的算法?(难度系数2颗星)

这需要从程序所需的计算资源和计算机本身所有的计算资源来分析;如果计算机本身的资源不能满足该程序的运行,那么显然是需要寻找最优算法的,但是如果计算机能够满足程序运行所需的资源的话,考虑到代码并没有重用性,不需要保存于计算机中再次运行,我们是可以采用最直观但是效率较低的算法,但是我个人更倾向于寻找复杂度最优的算法,这既是对我们自身数学能力的一种培养,也是对算法一种负责任的态度,只有在积极的思考的过程中,我们才能由新的发现。

《计算之魂》1.11.2--阅读心得相关推荐

  1. 《计算之魂》阅读笔记 02

    <计算之魂>阅读笔记 02 1.3 怎样寻找最好的算法 例题 1.3 方法一:三重循环 方法二:二重循环 方法三:分而治之 方法四:正反扫描 [思考题 1.3.1] [思考题 1.3.2] ...

  2. 《计算之魂》读书笔记 04

    <计算之魂>读书笔记 04 1.4 关于排序的讨论 [1.4.3]针对特殊情况,我们是否还有更好的答案? [附录]为什么排序算法的复杂度不可能小于 O(nlogn)O(nlogn)O(nl ...

  3. 【PaddlePaddle论文复现】LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS阅读心得

    [PaddlePaddle论文复现]LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS阅读心得 作者:Andrew B ...

  4. 隐私计算头条周刊(11.27-12.3)

    开放隐私计算 收录于合集 #企业动态34个 #周刊合辑35个 #政策聚焦28个 #隐私计算34个 #隐私计算技术28个 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社 ...

  5. 《机器学习》阅读心得--一、绪论

    写在开始之前 一直感觉机器学习/图像处理/人工智能这些词很高端,但是始终没有真正下决心去跨入这些领域.直到前两个月,在进入科研所后感觉自己不能再做一个纯搬砖的码农,必须向学术方面发展,于是买了周志华的 ...

  6. 《计算之魂》读书笔记

    计算之魂(吴军) 引子 计算的本质--从机械到电子 第 1 章 毫厘千里之差--大O概念 1.1 算法的规范化和量化度量 软件为什么从计算机科学中分离出来? 最初计算机是用于计算,而拥有了计算的基础功 ...

  7. [datawhale202208]计算之魂共读:怎样寻找最好的算法

    结论速递 本次通过了解总和最大区间问题(即最大子序和)的四种时间复杂度的求解方法,直观地了解了算法复杂度和最优算法的关系. 同时,了解了对优化算法复杂度的判断包含三个内容:对问题边界的认知,对无用功的 ...

  8. 《计算之魂》读书笔记 01

    <计算之魂>阅读笔记 01 目录 <计算之魂>阅读笔记 01 第1章 - 前言 1.1 算法的规范化和量化度量 [思考题 1.1] 1.2 大数和数量级的概念 [思考题 1.2 ...

  9. [datawhale202208]计算之魂共读:算法规范化,大数和数量级的概念

    结论速递 本次阅读了1.1及1.2章节. 1.1章节首先介绍计算机的软硬件分离历史,引出了程序算法独立存在的价值.并介绍了提出将算法进行量化度量的高德纳的五件闻名于世的事,强调了算法量化的重要性. 1 ...

  10. 计算之魂-计算的本质是机械运动

    阅读吴军老师的新书 <计算之魂>,碰到有意思的内容,会在此做一个记录 计算的本质是机械运动 今天的电子计算机可以被理解成由很多能够被控制的开关构成,这些开关的运动和计算过程是对应的.也就是 ...

最新文章

  1. Python IDE ——Anaconda+PyCharm的安装与配置
  2. Mysql跨机房同步方案
  3. string to xml java_Java String to XML - Parse String to XML DOM Example - 入门小站-rumenz.com
  4. Vue 单文件组件||Vue 单文件组件的基本用法||webpack 中配置 vue 组件的加载器|| 在 webpack 项目中使用 vue
  5. k8s master节点参与调度(去除NoSchedule污点)
  6. 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于Wi-Fi,同时支持升级Wi-Fi,APP控制版)...
  7. URL编解码、Big Endian和Little Endian
  8. 孔夫子告诉你:编程到底能教会你什么!
  9. 如何关闭OSX 10.11 SIP (System Integrity Protection)
  10. 最新版网站推广完全手册(2007年)!
  11. 手把手教你开发微信小程序自定义底部导航栏
  12. 菜鸟教程 Python100例答案
  13. 沧小海基于xilinx srio核的学习笔记之第四章 Xilinx SRIO的示例分析(二)
  14. at89s51单片机是几位微型计算机,单片机原理章习题
  15. 世界十大高楼中国占6座 中东要建第一楼
  16. RIGOL DS1102D示波器说明及纹波、上电脉冲、时序测试
  17. [Unix下C/C++开发] unix编程书籍推荐
  18. 榕树贷款利用AI人工智能技术发送非常迅速(榕树贷款)
  19. 细胞膜杂化脂质体载紫杉醇/红细胞膜包被雷公藤甲素-红素仿生共载脂质体的研究制备
  20. Java使用RSA算法实现安全登录

热门文章

  1. 广州华锐互动产品3d展示平台,轻松提高产品成交!
  2. 论文笔记:NAOMI: Non-Autoregressive MultiresolutionSequence Imputation
  3. 微信小程序给echarts图表动态赋值
  4. 揭密win7pe制作全过程
  5. 巴比特 | 元宇宙每日必读:企业需要具备哪些资质才能开展NFT相关业务?
  6. 巴比特 | 元宇宙每日必读:企业如何将业务转移到元宇宙?这7大步骤了解一下...
  7. ORAN传输封装类型
  8. 微信公众号最佳实践 ( 10.2)回复QQ表情和Emoji表情
  9. 米聊之死 雷军的“猪”折了腿?
  10. keras.models导入Sequential错误