《计算之魂》读书笔记——第一章

这篇具有很好参考价值的文章主要介绍了《计算之魂》读书笔记——第一章。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很享受周末一个人读书的时光,少了很多工作和生活的打扰,可以安静而尽情地徜徉在文字之间,感受那些或壮阔或优美或宁静或严谨的语言符号在思维中流淌,将思绪带到一个新的世界。

周末花了两三个小时读完《计算之魂》第一章,触发了很多对技术生涯的反思。我们在技术的道路上似乎一直匆匆忙忙,学生时代匆忙地应付考试,工作之后匆忙地完成开发任务,做管理之后匆忙地扩充自己的通识,生怕被抛进时间的轮下。我们可以轻而易举地完成一个冒泡排序的任务,驾轻就熟地设计一套软件架构,自认为严谨地对比着各种各样的数据,以寻求最符合实验预期的结果。然而,我们却很难成为一名顶级工程师。

吴军老师在《硅谷来信》专栏中就提到借助朗道对物理学家划分等级的方法,将计算机工程师划分为五个等级的,不同等级的工程师在贡献和成就上常常存在指数级的差别。大致的划分如下:

五级工程师:能够独立解决问题,完成工程工作。一个能够独立工作、很好完成任务的工程师,属于五级工程师。部分IT企业里写代码的人,俗称的“码农”,很多都达不到五级工程师的要求。

四级工程师:能够用已知的最有方法解决问题,并指导和带领其他人一同完成更有影响力的工作。很多公司里的技术专家、技术大拿,大致属于这个水平。

三级工程师:能够解决前人未解决的问题,并且能够独立设计和实现产品,在市场上获得成功。这个级别的工程师在Google或微软并不少见,但是在大部分IT企业中,能够达到这个水平的人却很少,通常是企业里的总工程师或者总架构师。

二级工程师:能够提出重要的计算机理论和实践中的新问题,并解决它们,还能设计和实现别人做不出的产品,这一级的人的作用很难被取代。

一级工程师:能够开创一个产业,或者奠定一个学科的基础。

从这样的划分角度来讲,我能想到的一级工程师大概只有图灵、冯·诺依曼和高德纳了。图灵提出了计算机的数学模型,冯·诺依曼确定了计算机通用的系统结构,而高德纳奠定了计算机算法的基础。算法是计算机的灵魂。好的算法和坏的算法,虽然都能解决问题,但对于大数来说,往往差之毫厘,结果却是千里之别。

在硬件条件给定的情况下,产品的性能在于软件,而软件的核心就是算法。而衡量算法的好坏,就需要有一套明确的标准及测试方法。1965年,尤里斯·哈特马尼斯(Juris Hartmanis)和理查德·斯特恩斯(Richard Stearns)提出了算法复杂度的概念。而最早将算法复杂度严格量化衡量的就是高德纳,他因此被誉为“算法分析之父”。在今天,全世界的计算机领域都以高德纳的思想为准。高德纳的思想可以概括为三部分:

1. 在比较算法的快慢时,只需要考虑数据量特别大,大到近乎无穷大时的情况。

2. 决定算法快慢的因素可被分为两类,第一类是不随数据量变化的因素,第二类是随数据量变化的因素。比如有两种算法,第一种算法次数是3N^2,第二种算法次数是100NlogN,其中N是要处理的数据量。前面两种算法,不管是第一种算法中的3,还是第二种算法中的100,都是常数,跟N的大小没关系。但是后面的部分则和N关系比较大,当N很大时,N^2要比NlogN大得多。

3. 两种算法在复杂度上哪怕只相差一点,在N很大之后,效率可能就差出万亿倍了。书中给出了一个例子,就是用比较容易想到得选择排序或插入排序和专业人士常用得快速排序对10多亿个QQ号排序,计算量分别是大约100亿亿次和30亿次,这个差别简直就是天壤之别了。

所以,这就有了衡量算法复杂度的大O概念。我们可以把一种算法的计算量或者占用空间的大小,用N的一个函数表示,如F(N),这个函数的边界可以用数学上的大O概念来限制。根据数学上对大O概念的定义,如果两个函数f(N)和g(N)在N接近无穷大时,其比值只差一个常数,那么它们就被看成是同一个数量级的函数,也就是具有相同的复杂度。

另外,如果一个算法的复杂度由一高一低两部分h(N)和l(N)组成,即f(N)=h(N)+l(N),那么后面数量级较低的部分l(N)可以直接忽略,O(f(N))=O(h(N)+l(N))=O(h(N))。

在解决实际的工程问题时,常常没有标准答案或最佳答案,却有好的方法和平庸的方法之分。从业者在水平上微小的差距,会导致他们采用不同的方法做事情,而结果往往有天壤之别。这就是为什么一流工程师的贡献会是二流工程师的10倍。如果我们想在计算机行业中持续往上走,唯一的途径就是不断提升自己。文章来源地址https://www.toymoban.com/news/detail-478382.html

到了这里,关于《计算之魂》读书笔记——第一章的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络(王道考研)笔记个人整理——第一章

    OSI/ISO参考模型 下层向上层服务,每一层次有特定的协议和功能,协议为功能服务,是打包和拆包的过程 物联网淑 慧试用 应用层:所有能和用户交互产生网络流量的程序 典型应用层服务:文件传输(FTP),电子邮件(SMTP),万维网(HTTP),也即www 表示层:用于处理在俩个

    2024年04月15日
    浏览(42)
  • 【计算机网络 谢希仁 第八版笔记】第一章 概述

    1.1.1. 三类网络 有三大类大家很熟悉的网络,即电信网络、有线电视网络和计算机网络。把上述三种网络融合成一种网络就能提供所有的上述服务,这就是很早之前就提出来的“三网融合”。 1.1.2. Internet译名 因特网这个名字是由全国科学技术名词审定委员会推荐的。互联网,

    2024年02月02日
    浏览(54)
  • 202313读书笔记|《山居七年》————我只想在广袤璀璨的星河里享受生的鲜活,独自飞,游走

    202313读书笔记|《山居七年》——我只想在广袤璀璨的星河里享受生的鲜活,独自飞,游走 《山居七年》 作者张二冬,选择隐士山居是一种很自由随性的生活态度,我觉得这不是普通人可以拥有的,比如我,并未入世也无法出世。不是每个人都能拥有岁月静好,纯稚如孩童,

    2024年02月06日
    浏览(36)
  • 【操作系统】24王道考研笔记——第一章 计算机系统概述

    1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用) 虚拟 异步 并发和共享互为存在条件。没有并发和共享,就谈不上虚拟和异

    2024年02月12日
    浏览(50)
  • 计算机视觉教程(第三版)期末复习笔记 第一章(定义、图像显示和表达、像素邻域)

    计算机视觉教程(微课版 第3版) 作者: 章毓晋 出版社: 人民邮电出版社 不一定全,只针对我们期末画的范围,只有一到六章。 目录 第一章 绪论 一、计算机视觉的定义 1. 视觉 2. 计算机视觉 二、常见的应用领域 三、图像的显示方式 1. 图像表达 2. 图像显示设备 3. 表达和显

    2024年02月01日
    浏览(42)
  • 计算机网络原原理学习资料分享笔记---第一章/第六节(为有梦想的自己加油!)

    第六节 计算机网络与 因特网发展简史 第六节 计算机网络与因特网发展简史 知识点 1 计算机网络与因特网发展简史 第六节 计算机网络与因特网发展简史 3 、 1972 年底, ARPAnet已经发展到 15 个交换结点。 4 、 20 世纪 70 年代早期与中期,除了ARPAnet之外,还诞生了许多其他分

    2024年04月27日
    浏览(40)
  • 西瓜书读书笔记整理(十一) —— 第十一章 特征选择与稀疏学习

    11.1.1 基本概念 特征(feature) :在机器学习中, 特征 是指从数据中提取的用于描述样本的属性或信息。 相关特征(relevant feature) :对当前学习任务 有用 的属性称为 “ 相关特征 ”。 无关特征(inrelevant feature) :对当前学习任务 无用 的属性称为 “ 无关特征 ”。 冗余特

    2024年01月19日
    浏览(51)
  • 【边缘计算】【第一章 什么是边缘计算】

    边缘计算的基本理念是将计算任务在接近数据源的计算资源上运行,是个连续统(定义:若A与实数集R等势,则称A为连续统。),可以有效减少数据传输带宽,减小计算系统的延迟,缓解云计算中心的压力,提高可用性,并能够有效保护数据安全和隐私。 Edge Computing “Edge Co

    2024年02月16日
    浏览(37)
  • 【计算机网络】第一章 概述

    目录 1.1 计算机网络在信息时代中的作用 1.2 互联网概述 1.2.1  网络的网络 1.2.2  互联网基础结构发展的三个阶段 1.2.3  互联网的标准化工作 1.3 互联网的组成 1.3.1  互联网的边缘部分 a. 客户-服务器方式(C/S 方式) b. 对等连接方式(P2P 方式) 1.3.2  互联网的核心部分 a. 电路

    2024年03月22日
    浏览(51)
  • 计算机网络(第一章)——概述

    1 网络、互连网(互联网)和因特网 网络(Network)由若干 结点(Node) 和连接这些结点的 链路(Link) 组成。 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网因此,互联网是“ 网络的网络(Netwrok of Networks) \\\"。 因特网(Internet)是世界上最

    2024年02月04日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包