网易163彩票网:以电脑的方式去思考

 tianxiadiyi   2019-07-16 18:01   28 人阅读  0 条评论
如何以计算机的方式思考
从大学的第一天到联系编程,老师告诉我们各种算法。从各种搜索和排序,到递归,贪婪和其他算法,新生一直在与这些算法作斗争。下班后,为了应对面试,我还是要回到算法书或刷一些算法练习才能拿起一些学校的回忆。为什么算法难以记住?或者为什么计算机的算法不直观?
因为计算机的算法是反人类的,实质上,这是由计算机的思维方式和人脑的思维方式之间的差异引起的。
人脑思维的机制还没有一定的理论,暂时被认为是化学物质和电信号的作用。虽然没有科学的解释,但我们每个人都有一个大脑,我们每个人都能感受到自己的思维方式。
计算机是由人类创造的。从设计之初,它不是为了模拟人类的大脑。因此,它有自己独特的工作方式。只有通过了解计算机的工作方式,您才能学会以其方式思考。您可以编写最适合您的计算机的程序代码。
寻找排序数组——人脑与计算机第1轮中的特定数字
我们使用一个具体的例子来说明人类的大脑和计算机是如何以不同的方式思考的,假设我们想从已经排序的数组中找到一个特定的数字。
众所周知,排序后的数组是1
2
3
5
7
13
34
67
90
127
308,我们想知道数组中这个数字是否为13。
人类的大脑如何完成任务?
人脑处理的问题几乎是“作弊”。我们一眼就能看出来。我们在眼镜的情况下发现了13个,所以如果我问自己如何找到13个,我只能说我“看到”它是。
计算机如何完成这项任务?
最简单和最愚蠢的算法是从数组中逐个读取数组。我相信每个学过编程基础知识的学生都可以编写类似下面的代码。boolean isNumInArray(int num, int[] array) { for (int i = 0; i < array.length; i++) { if (array[i] == num) { return true; } } return false; }
计算机需要从数组的第一个元素开始,逐个检查当前数组的元素,并将其与13进行比较,看它是否相等。为了找出数字13,计算机必须进行6次循环操作,并且该人几乎立即看到答案。
为什么计算机解决问题的方式如此愚蠢?我们必须从计算机的工作原理开始。
CPU如何工作
CPU是计算机的核心组件,也是算法的主要载体。
CPU不像人类那样思考,只知道一些基本指令。每个CPU都有自己的指令集,这是一个存储在CPU内部的硬程序,用于指导和优化CPU操作。一般来说,指令集是CPU的全部思路。例如,在公共指令集中,将有一条ADD指令,它可以将值添加到两个寄存器中并将它们存储在另一个寄存器中。对应于此,还将存在用于两个寄存器值的SUB指令。减法。如果查看各种CPU指令集的手册,您会发现基本上您将包括基本的加法,减法,乘法和除法指令,以及存储和将数据存入内存的指令。公共CPU指令集最多只有几百条指令。换句话说,CPU只有这几百个命令。
人脑相对于CPU具有强大的记忆和关联能力。例如,如果你看到1
+
1,你会想到2.当你看到红灯时,你会想要停下来看门,你就会知道要打开门把手。这是你可以不经思考地立即反映出来的东西。
因此,CPU会比人少(指令),所以CPU不是很傻?是的,CPU是非常愚蠢的,但CPU的优势是人类大脑无法比拟的:
虽然CPU只执行简单的操作(数百条指令),但它可以保证在固定时间(指令执行时间)正确计算正确的结果。人类的大脑无法保证在固定的时间内产生“相同的”思维结果。
现代CPU过程可以在一秒钟内执行超过一百万条指令,而人类大脑无法比较思维速度。我们“思想”中最短的一个也需要零秒和几秒的反应时间。
总之,CPU是一个愚蠢而快速的人。
电脑存储
计算机的通用存储是寄存器,高速缓存,内存,硬盘等。
该寄存器相当于人脑中可以立即想到的东西。
CPU完成的所有操作都是对寄存器中的数据执行的。寄存器存储计算机当前正在执行的操作(指令寄存器),要计算的数据(数据寄存器)以及计算的步骤(段寄存器)。无论最早的CPU有寄存器还是最新最强的CPU,寄存器的数量只有几十个(有数百个特殊情况),这意味着CPU可以同时立即使用的信息就是这个。几十个数字。
内存是计算机的主要存储设施。它可以存储正在运行的程序的信息。内存相当于图书馆的书架。
CPU需要使用内存的某个部分中的数据。需要传递LOAD命令并附加书架号(存储器地址),然后存储器控制器可以通过总线将相应地址的数据传输到CPU,CPU将加载的结果放入寄存器中使用。存储器访问的速度远小于寄存器,但访问存储器的每个间隔中分配的数据的速度基本相等。
由于大多数时候CPU需要读取连续的内存部分来执行操作,因此通常CPU具有缓存最近使用的内存的缓存,因此CPU不必每步都读取一次内存。缓存的速度在寄存器和内存之间,但远高于内存。缓存的大小通常在几兆字节到十几兆字节之间。
硬盘属于外部存储。旧的机械硬盘将具有可旋转的头部。读取磁盘文件时,需要将磁头转到相应的位置。磁盘速度远低于内存,如果磁头停留在磁盘中,在某个位置,随机磁盘上不同位置的信息受磁头移动的物理速度限制,速度不是0x3e2
。新的SSD使用类似于内存的存储介质,这极大地提高了随机访问的性能。
因此,计算机有一个小头(寄存器),只能记住一些东西,但可以拥有一个相对较大的快速内存(缓存),具有远远超出人类的知识储备(内存),并且还带有巨大的运动用它。库(硬盘),所以从存储的角度来看,电脑就像一个有着先天缺陷的雨人。网易163彩票网编辑整理
本文地址:https://www.al163.net/post/79.html
版权声明:本文为原创文章,版权归 tianxiadiyi 所有,欢迎分享本文,转载请保留出处!

评论已关闭!