美文网首页
数组的由来

数组的由来

作者: 灯下鼠 | 来源:发表于2023-01-02 18:28 被阅读0次

程序员人人都会用数组,就是这最简单的数据结构,那也得有人发明。

计算机数据结构意义上的数组,是伴随第一台通用计算机而诞生的,这第一台通用计算机,就是 ENIAC。普遍认为,ENIAC 是第一台现代意义上的计算机。之前那些织布机、图灵的炸弹机都不算。阿塔那索夫的 ABC机是电子的,但不通用。

ENIAC 是为美国陆军弹道试验室设计的,用来计算炮弹的弹道。接这个活的,是宾夕法尼亚大学的莫尔学院。全世界都一样,大学的教授们除了教书,还药四处找活计挣钱。

1943年,宾大的两位老师承接了这个课题,一位叫 J. Presper Eckert,当时很年轻,才 24 岁,另一位是John Mauchly,36岁。概念设计来自 John Mauchly,也是他申请下来这个项目。但真正实现,是J. Presper Eckert搞的,J. Presper Eckert是总工。他们俩带着一群科学家和工程师。这其中还有一位中国人,朱传榘,天津人,好多国家领导人接见过朱老。

J. Presper Eckert John Mauchly 朱传榘

ENIAC 中就用到了数组。应该是数组数据结构在计算机中第一次出现。

ENIAC 是电子管计算机,并且呢,是十进制的。 ENIAC 是通用计算机,用一些旋钮来做编程指令,数据的输入和输出通过IBM打孔带。ENIAC 编程非常麻烦,而且维护需要时间长。

于是,天才加入了。 这个地球上最聪明的人,冯诺依曼看到了,他44年接触到 ENIAC,6 个月后,发表《101报告》,冯诺依曼架构诞生。主要的改进是,第一,采用二进制;第二,存储程序,也就是真正的可编程,把程序和数据都编成代码输入计算机,不再需要拉线调按钮。

冯诺依曼

现在数字货币总是说“可编程货币”、“可编程世界”,听起来很科幻,实际上,70年前,冯诺依曼这些科学家就在追求这个。不过,当时,他们追求的是计算机“可编程”,也就是程序代码虚拟化,不依赖硬件。今天,数字货币追求的是“虚拟货币”这样一个计算机中的“数字对象”是可编程的。

冯诺依曼和数组也有关系,他写了第一个数组排序算法,归并排序(Merge Sorting)。

冯诺依曼也是跨学科的天才,是计算机之父,还是博弈论之父,也是原子弹之父,在量子力学、集合论上也有开创性工作。

不过,还有人比冯诺依曼更聪明,冯诺依曼架构成就了信息化时代,但这个思想借鉴了皮茨的思想。《101报告》煌煌巨著,只有一个引文,那就是皮茨和麦卡洛克的《A Logical Calculus of Ideas Immanent in Nervous Activity》,MP神经网络。说到底,计算机和AI是一根藤上两个瓜。

说回 J. Presper Eckert 和 John Mauchly,二人后来创立了自己的计算机公司,但经营不好,最终被unisys收购,Eckert 就在 unisys 退休了。

Mauchly 后来自己又创立了两家咨询公司。Mauchly 还有个值得讲的经历,他是 ACM 的发起人之一。

相关文章

  • 数组的由来

    程序员人人都会用数组,就是这最简单的数据结构,那也得有人发明。 计算机数据结构意义上的数组,是伴随第一台通用计算机...

  • 集合框架

    集合框架(集合的由来及集合继承体系图) 一、集合的由来数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新...

  • Java----集合

    集合的由来: 首先,数组的长度是固定的,如果要改变数组的长度需要创建新的数组将旧数组里的元素拷贝到新的数组里,...

  • Java——集合知识点

    集合的由来 数组长度固定的特性使得如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。...

  • 集合概述

    集合的由来数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。java...

  • java基础系列05--集合(1)

    JAVA集合 集合由来: 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给...

  • day15

    1:对象数组(掌握) 2:集合(Collection)(掌握) (1)集合的由来?我们学习的是Java -- 面向...

  • 散列表

    一、散列表的由来? 散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元...

  • 16|散列表(上):Word文档中的单词拼写检查功能是如何实现的

    一、散列表的由来? 1.散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访...

  • 散列表

    一、散列表的由来? 1.散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访...

网友评论

      本文标题:数组的由来

      本文链接:https://www.haomeiwen.com/subject/hqaqcdtx.html