数据结构发展史

合集下载

数据库技术的发展史

数据库技术的发展史

数据库技术的发展史数据库技术的发展,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。

数据库技术最初产生于20世纪60年代中期,到今天近几十年的历史,其发展速度之快,使用X围之广是其它技术所远不及的。

先介绍一下数据模型的概念:数据模型是数据库系统的核心和基础。

数据模型的发展经历了格式化数据模型(包括层状数据模型和网状数据模型)、关系数据模型两个阶段,正在走向面向对象的数据模型等非传统数据模型的阶段。

层状数据模型每个节点间是一对多的父子之间的联系,比如一个父亲三个儿子;中心下的几个部门,部门里的人。

网状数据模型中允许任意两个节点间有多种联系,层次模型实际上是网状模型的一个特例;如同学生选课,一个学生可以选修多门课程,某一课程也可被多名学生选修。

关系数据模型,职工,比如我(编号,XX,性别,所属部门,籍贯),我和马薇,X晖,陈曙光等就组成了一X关系模型的数据表。

根据数据模型的发展,数据库技术可以相应地划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。

第一代数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS和70年代美国数据库系统语言协商CODASYL下属数据库任务组DBTG提议的网状模型。

层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。

这两种数据库奠定了现代数据库发展的基础。

这两种数据库具有如下共同点:1.支持三级模式(外模式、模式、内模式),模式之间具有转换(或成为映射)功能,保证了数据库系统具有数据与程序的物理独立性和一定的逻辑独立性;2.用存取路径来表示数据之间的联系;3.有独立的数据定义语言;4.导航式的数据操纵语言。

网状数据库最早出现的是网状DBMS。

网状模型中以记录为数据的存储单位。

记录包含若干数据项。

网状数据库的数据项可以是多值的和复合的数据。

每个记录有一个惟一地标识它的内部标识符,称为码(DatabaseKey,DBK),它在一个记录存入数据库时由DBMS自动赋予。

cpu发展史

cpu发展史

CPU发展史1971年世界上第一款微处理器是Intel公司推出的4004,这是第一款可以用于微机的4位处理器,它包括2300个晶体管。

随后Intel又推出8008由于市场反应不理想,1974年8008发展成8080成为第二代处理器,8080作为代替电子逻辑电路的器件被用于各种应用电路和设备中。

同时期Zilog公司生产了8080的增强型Z80,摩托罗拉公司生产了6800,Intel公司于1976年又生产了增强型8085,但这些芯片都没有改变8080的基本特点,都属于第二代处理器。

它们都采用NMOS工艺,集成约9000只晶体管,平均指令执行时间为1μs~2μs,采用汇编语言,BASIC,Fortran编程,使用单用户操作系统。

1978年Intel公司生产的8086是第一个16位的处理器,很快Zilog公司和摩托罗拉公司也计划生产Z8000和68000。

这就是第三代微处理器的起点。

1982年,Intel公司在8086的基础上,研制出了80286微处理器,该处理器最大主频为20MHZ。

内,外部数据传输均为16位,使用24位内存的寻址,8086~80286这个时代是个人电脑起步的时代,当时在国内使用甚至见PC机的人很少,它在人们心中是一个神秘的东西。

到九十年代初,国内才开始普及计算机。

1985年春天的时候,INTEL公司已经成为了第一流的芯片公司,它决心全力开发新一代的32位核心的CPU-80386。

INTEL给80386设计了三个技术要点:使用“类286”结构,开发80387微处理器增强浮点计算能力,开发高速缓存解决内存速度瓶颈。

1985年10月17日,INTEL划时代的产品———80386DX正式发布了,其内部包含27.5万个晶体管,时钟频率为12.5MHZ,后逐步提高到20MHZ 25MHZ 33MHZ,最后还有少量的40MHZ产品。

1989年INTEL公司又推出准32位微处理器芯片80386SX。

数据结构发展史范文

数据结构发展史范文

数据结构发展史范文
1、古典数据结构时期:
古典数据结构时期是最早的数据结构时期,也是数据结构的雏形。

1850年,著名的德国数学家和计算机工程师卡尔·马克斯·舒尔茨提出了有关顺序文件结构的研究,并列出了两种新的基本的数据结构:线性表和树形结构。

树结构是由舒尔茨提出的,它是通过虚拟的“母体树”来表示层级关系或层次结构的重要结构。

他在1862年开始研究二叉树,并发表了他的研究成果,推动了树形结构的研究。

1925年,德国数学家和计算机科学家卡尔·施密特提出广义表,这是一种用于表示层次结构的灵活数据结构。

一年后,施密特又提出了一种新的数据结构:图。

它是用节点(vertex)和边(edge)来描述类似于网络的数据结构。

他的研究为图的研究推动了数据结构的发展。

1945年,美国计算机科学家和研究者亚历克斯·维斯金斯开始研究链表,它是一种具有动态分配特性的线性表,它使用多条存储器指针来表示一组数据,即各个结点之间相互连接。

2、抽象数据类型时期:
到19世纪60年代,抽象数据类型(ADT)开始受到关注,它是一种用于描述数据结构的通用模型。

数学的历史演变与发展从古代文明到现代科技

数学的历史演变与发展从古代文明到现代科技

数学的历史演变与发展从古代文明到现代科技数学作为一门古老而重要的学科,经历了漫长的发展过程。

从古代文明到现代科技,数学在人类社会中扮演着至关重要的角色。

本文将探索数学的历史演变与发展,从古代文明的起源到现代科技的应用,揭示数学对人类社会和科学进步的贡献。

一、古代文明与数学的起源人类文明的起源可追溯到几千年前,而数学作为人类文明的重要组成部分,几乎与人类共存。

早在古代古埃及、古巴比伦和古印度等文明中,人们已经开始使用基本的数学概念和技巧,例如计数、测量和几何等。

这些数学知识主要应用于土地测量、建筑、天文观测和商业交易等领域。

古埃及人在建设金字塔时就运用了几何学原理,而巴比伦人则进行了复杂的算术运算,创立了著名的巴比伦数字系统。

此外,古印度人还发展了基于零的算术体系,并推演出了一些高度复杂的数学概念,例如无理数和蛇形曲线等。

二、古希腊数学的盛世古希腊数学是数学发展史上的一个重要里程碑,为后世的数学奠定了坚实的基础。

在古希腊,数学几乎成为一种哲学追求,被认为是对自然和宇宙的本质探索。

著名的数学家毕达哥拉斯和欧几里得分别推动了几何学和数论的发展。

毕达哥拉斯学派提出了许多重要的几何学法则,例如毕达哥拉斯定理,它描述了直角三角形的边长关系,以及黄金分割比例,它被广泛应用于艺术和建筑领域。

而欧几里得则创立了几何学的基本公理体系,他的著作《几何原本》成为了许多后世数学家的学习指南。

三、中世纪的数学荣辱中世纪是数学发展的一个相对低潮期,数学的发展受到了宗教和社会观念的限制。

然而,中世纪的阿拉伯数学家们对数学的贡献是不可忽视的。

阿拉伯数学家通过翻译希腊和印度的数学著作,将这些知识引入欧洲,并开创了代数学的先河。

阿拉伯数学家穆罕默德·本·穆萨·可鲁因提出了许多重要的代数学法则,例如对数学的方程求解方法和二次方程的定义等。

阿拉伯数学家还开创了三角学的研究,并将阿拉伯数字系统介绍到了欧洲。

四、近代数学的革新随着文艺复兴时期的到来,数学开始经历一次新的革命。

数据结构第1章 绪论

数据结构第1章 绪论

课程改革: 课程改革:
实验单独设课, 强调上机实践能力 数据结构课程: 理论课(68课时4学分)+实验课(24课时1.5 学分) 课程考核
1.3 基本概念和术语
1、 2、 3、 4、 5、 6、 数据 数据元素 数据对象 数据结构 数据类型 抽象数据类型
1. 数据 能输入到计算机中的符号集 数据: 合. 2. 数据元素 数据的基本单位. 数据元素: 3. 数据对象 数据对象: 具有相同性质的数据元素的集合. 4. 数据结构: DATA STRUCTURE 数据结构: 数据及其相互关 系的集合. 分为逻辑结构和存储结构(物理结 构). 数据结构-------------------------------类 数据结构----------------类 CLASS
数据的存储结构
1. 顺序存储结构 顺序存储结构:借助元素在存储器中的相对位置 来表示数据元素间的逻辑关系。 【例1.4】对于表1-1提出的学生信息登记表进行存储, 假定每个元素占用50个存储单元,数据从1000号单 元开始由低地址向高地址存放,对应的顺序存储结 构如表1-3所示。
数据的存储结构
顺序存储结构的主要特点: 可实现对各数据元素的随机访问。这是 因为只要知道存储的首地址以及每个数 据元素所占的存储单元,就可以计算出 各数据元素的存储地址。 不利于修改,在对数据元素进行插入、 删除运算时可能要移动一系列的数据元 素。
抽象数据类型的定义: 抽象数据类型的定义:
ADT: ADT:抽象数据类型名 data 数据元素之间逻辑关系定义 operation 操作1 操作1 操作2 操作2
……
操作n 操作n
抽象数据类型 的不同视图
1.4 1.4 算法和算法分析
1. 定义:算法(Algorithm)是对特定问题求 定义:算法(Algorithm) 解步骤的一种描述,它是指令的有限序列, 解步骤的一种描述,它是指令的有限序列,其 中每一条指令表示一个或多个操作。 中每一条指令表示一个或多个操作 特性: 2. 特性:

计算机科学导论

计算机科学导论

计算机科学导论计算机科学作为一门研究计算机系统、算法、数据处理和程序设计的学科,已经成为现代社会不可或缺的重要领域。

本文将介绍计算机科学的基础知识,包括计算机的发展历史、数据结构、算法设计等方面的内容。

计算机的发展历史计算机的发展可以追溯到古代的算盘和阿拉伯数字的发明,但现代计算机的起源可以追溯到二十世纪上半叶的电子计算机。

第一台电子计算机是由美国的ENIAC团队于1946年研制成功的。

随后,计算机技术迅速发展,从大型的主机系统到个人电脑,再到今天的移动设备和云计算系统,计算机已经成为人们生活中不可或缺的一部分。

数据结构在计算机科学中,数据结构是指数据对象之间的关系。

常用的数据结构包括数组、链表、栈、队列、树和图等。

数据结构的选择会影响到程序的性能和复杂度。

例如,合适的数据结构可以提高数据的访问效率和处理速度,而不当的选择可能导致程序运行时间增加和资源占用过多。

算法设计算法是解决问题的一种方法和步骤。

在计算机科学中,算法设计是指设计并实现有效的算法来解决各种问题。

算法的好坏影响着程序的运行效率和性能。

常见的算法设计技术包括贪心算法、分治算法、动态规划和回溯算法等,不同的问题需要选择合适的算法来解决。

计算机科学的应用领域计算机科学广泛应用于各个领域,如人工智能、计算机网络、数据库系统、软件工程等。

人工智能是计算机科学中的一个重要分支,它研究如何使计算机系统能够模拟人类智能的行为。

计算机网络是指将多台计算机通过通信设备连接起来,使它们之间可以相互传输数据和共享资源。

数据库系统是一种管理和存储大量数据的系统,软件工程则是关于如何有效地开发和维护软件系统的学科。

结语计算机科学作为一门复杂且不断发展的学科,为我们提供了解决问题的有效手段和方法。

通过了解计算机的基本原理和相关知识,我们可以更好地理解计算机科学的重要性,并在日常生活和工作中充分利用计算机技术。

希望本文能够帮助读者对计算机科学有更深入的理解。

数据库的发展历史分哪几个阶段?各有什么特点。

数据库的发展历史分哪几个阶段?各有什么特点。

(一)数据库的发展历史分哪几个阶段?各有什么特点。

答:数据库的发展历史经历了人工管理、文件系统和数据库系统三个发展阶段。

人工管理数据具有如下特点:1、数据不保存2、数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作3、数据不共享4、数据不具有独立性,数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。

文件系统阶段特点为:1、数据可以长期保存2、由专门的软件即文件系统进行数据管理,程序和数据之间由软件提供的存取方法进行转换,使应用程序与数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于算法。

3、数据共享性差4、数据独立性低数据库系统阶段特点为:1、数据结构化2、数据的共享性好,冗余度低3、数据独立性高4、数据由DBMS统一管理和控制(二)简述数据库设计过程的各个阶段上的设计描述。

答:数据库设计过程分为六个阶段:1、需求分析:准确了解与分析用户需求,(包括数据与处理)。

需求分析是整个设计过程的基础,需求分析的结果是否准确反映了用户的实际需求,将直接影响到后面各个阶段的设计、并影响到设计结果是否合理和实用。

2、概念结构设计:数据库逻辑结构依赖于具体的DBMS,在将现实世界需求转换为机器世界的模型之前,我们先以一种独立于具体数据库管理系统的逻辑描述方法来描述数据库的逻辑结构,即设计数据库的概念结构。

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

3、逻辑结构设计:逻辑结构设计是将抽象的概念结构转换为所选用的DBMS支持的数据模型,并对其进行优化。

4、数据库物理设计:数据库物理设计是对为逻辑数据模型选取一个时候应用环境的物理结构(包括存储结构和存取方法)5、数据库实施6、数据库运行和维护(三)学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。

数据库的发展历史分为哪几个阶段

数据库的发展历史分为哪几个阶段

表 3-25 客户表
客户编号
客户名称
地址
101
大宏公司
北京
201
新新公司
上海
302
金石集团
北京
405
秀华公司
广州
试用关系的集合运算并、差、交、广义笛卡尔积四种运算,求出结果。 答:略。 8. 用第 7 题的公司数据库,试用专门的关系运算选择、投影、连接求出以下结果: (1) 查询所有男职工的信息。 (2) 查询在 1980 年之前出生的职工姓名。 (3) 查询客户大宏公司的工程信息。 (4) 查询人事部职工负责的工程信息。
1
改,使得模式保持不变,保证了数据与程序的物理独立性,即数据的物理独立性。 6. 举例说明,在实际工作生活中,有哪些单位部门使用数据库?这些数据库所起的作用
如何? 答:电信、图书馆、银行等部门。
2.4 习题
1. 信息有哪三种世界?分别都有什么特点?它们之间有什么联系? 答:信息的三种分为现实世界,信息世界,计算机世界。 信息的现实世界是指人们要管理的客观存在的各种事物、事务之间的相互联系及事物的 发生、变化过程。它客观存在而不依赖于人们的思想。 信息世界是现实世界在人们头脑中的反映,人们用思维,以现实世界为基础作进一步的 抽象,对事物进行选择、命名、分类等抽象工作之后,并用文字符号表示出来,就形成了信 息世界。 计算机世界是将信息世界中的信息经过人们的抽象和组织,按照特定的数据结构,即数 据模型,将数据存储在计算机中。 信息的三种世界之间是可以进行转换的。人们常常首先将现实世界中客观存在的事物或 对象抽象为某一种信息结构,这种结构并不依赖于计算机系统,是人们认识的概念模型。然 后再将概念模型转换为计算机上某一具体的 DBMS 支持的数据模型。 2. 什么是概念模型? 答:概念模型是用于信息世界的建模,是对现实世界的抽象和概括。它应真实、充分地 反映现实世界中事物和事物之间的联系,有丰富的语义表达能力,能表达用户的各种需求, 包括描述现实世界中各种对象及其复杂联系、用户对数据对象的处理要求和手段。是现实世 界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设 计人员和用户之间进行交流的语言。 3. 解释概念模型中常用的概念:实体,属性,码,域,实体型,实体集,联系。 答:客观存在并且可以互相区别的事物称为实体。 实体所具有的某一特征称为属性。 能在一个实体集中惟一标识一个实体的属性称为码。 某个(些)属性的取值范围称为该属性的域。 用实体名及其属性名集合来抽象和刻画的同类实体,称为实体型。 同类型的实体集合称为实体集。 联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。 4. 实体的联系有哪 3 种? 答:实体之间的联系根据所表现的形式的不同,分为三种:一对一联系,一对多联系, 多对多联系。 5. 试给出一个 E-R 图用来描述一个实际部门。要求该部门至少有三个实体,每个实体之 间还有联系。 答:略。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:数据结构发展史综述学院:___电子信息_____专业:___通信工程_____班级:___ 122 _____学号:___31____学生姓名:___吴敏_____2014年 3月 15日目录前言 (3)第二章数据结构主要研究什么? (6)第三章数据结构的史源 ....... (7)第四章数据结构的飞速发展 (8)第五章数据结构发展的三阶段 (9)第六章数据结构的前景 (11)前言随着计算机科学与技术的不断发展,计算机的应用领域已不再局限于科学计算,而更多地应用于控制、管理等非数值处理领域。

与此相应,计算机处理的数据也由纯粹的数值发展到字符、表格、图形、图象、声音等具有一定结构的数据,处理的数据量也越来越大,这就给程序设计带来一个问题:应如何组织待处理的数据以及数据之间的关系(结构)。

数据结构技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。

数据结构的诞生和发展给计算机信息管理带来了一场巨大的革命。

三十多年来,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。

同时,随着应用的扩展与深入,数据结构的数量和规模越来越大,数据结构的研究领域也已经大大地拓广和深化了。

30年间数据结构领域获得了三次计算机图灵奖(. Bachman, ),更加充分地说明了数据结构是一个充满活力和创新精神的领域。

就让我们沿着历史的轨迹,追溯一下数据结构的发展历程。

第一章什么是数据结构数据结构是指同一数据元素类中各数据元素之间存在的关系。

数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。

数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。

逻辑结构形式地定义为(K,R)(或(D,S)),其中,K是数据元素的有限集,R 是K上的关系的有限集。

数据结构是在整个计算机科学与技术领域上广泛被使用的术语。

它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。

数据结构有逻辑上的数据结构和物理上的数据结构之分。

逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。

数据结构是数据存在的形式。

数据结构信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。

数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。

它包括数据元素的表示和关系的表示。

数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。

顺序存储方法:它是把逻辑上相邻的结点存储在物理位臵相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。

顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。

链接存储方法:它不要求逻辑上相邻的结点在物理位臵上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。

由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。

散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。

第二章数据结构主要研究什么?数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。

因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。

通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。

其具体的最主要内容有以下几点:1.数据的各种逻辑结构和物理结构,以及他们之间的相应关系2.并对每种结构定义相适应的各种运算3.设计出相应的算法4.分析算法的效率第三章数据结构的史源1968年在美国开设。

它随着大型程序的出现而出现。

“数据结构”作为一门独立的课程在国外是从1968年才开始设立的。

1968年美国唐•欧•克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。

“数据结构”在计算机科学中是一门综合性的专业基础课。

数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。

数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设。

1968年克努思教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。

70年代初,数据结构作为一门独立的课程开始进入大学课堂。

数据结构在计算机科学界至今没有标准的定义。

个人根据各自的理解的不同而有不同的表述方法。

例的数据元素之间的各种联系。

这些联系可以通过定义相关的函数来给出。

”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。

数据结构在计算机科学界至今没有标准的定义。

个人根据各自的理解的不同而有不同的表述方法。

Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实Clifford 在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。

”第四章数据结构的飞速发展自从美国唐〃欧〃克努特教授用汇编语言编写的《计算机程序设计技巧》第一卷《基本算法》问世以来,已经出现了用Pascal、Java、C、C++、C#等语言编写的数据结构方面的书。

总体说来,这些语言基本上分为面向过程的语言和面向对象的语言两大类,也出现过采用两种语言描述数据结构的书籍,如C和C++语言描述,但作者实际上是按照C++语言描述。

同时采用面向过程和面向对象语言描述数据结构,目前国内基本上是空白。

对于同一种数据结构与算法,同时采用面向过程和面向对象语言进行描述,可以从中更深刻理解这两种思想的不同,这对于深刻理解计算机语言和思想有着重要的作用。

C语言是现在最流行的面向过程的语言,在业界使用非常广泛。

而C#语言作为微软在新一代开发平台(.NET)上推出的、完全面向对象的语言,凭着其简洁、高效、模板、标准化的特性,使得C#语言像程序设计语言中的一件艺术品,也吸引着越来越多的开发人员。

当然,C#与C 是相似的。

第五章数据结构发展的三阶段数据结构随着程序设计的发展而发展。

程序设计经历了三个阶段:无结构阶段、结构化阶段和面向对象阶段,相应地,数据结构的发展也经历了三个阶段:⑴无结构阶段。

40~60 年代,计算机的应用主要针对科学计算,程序设计技术以机器语言/ 汇编语言为主,程序处理的数据是纯粹的数值,数据之间的关系主要是数学公式或数学模型。

这一阶段,在人类的自然语言与计算机编程语言之间存在着巨大的鸿沟,程序设计属于面向计算机的程序设计,设计人员关注的重心是使程序尽可能地被计算机接受并按指令正确执行,至于程序能否让人理解并不重要。

⑵结构化阶段。

60~80年代,计算机开始广泛应用于非数值处理领域,数据表示成为程序设计的重要问题,人们认识到程序设计规范化的重要性,提出了程序结构模块化,并开始注意数据表示与操作的结构化。

数据结构及抽象数据类型就是在这种情况下形成的。

数据结构概念的引入,对程序设计的规范化起到了重大作用。

图灵[2]奖获得者沃思[3]给出了一个著名的公式:数据结构+ 算法= 程序。

从这个公式可以看到,数据结构和算法是构成程序的两个重要的组成部分,一个软件系统通常是以一个或几个关键数据结构为核心而组织的。

随着软件系统的规模越来越大、复杂性不断增加,人们不得不对结构化技术重新评价。

由于软件系统的实现依赖于关键数据结构,如果这些关键数据结构的一个或几个有所改变,则涉及到整个系统,甚至导致整个系统彻底崩溃。

⑶面向对象阶段面向对象技术(首先是面向对象程序设计)始于80 年代初,是目前最流行的程序设计技术。

在面向对象技术中,问题世界的相关实体被视为一个对象,对象由属性和方法构成,属性用以描述实体的状态或特征,方法用以改变实体的状态或描述实体的行为。

一组具有相同属性和方法的对象的集合抽象为类,每个具体的对象都是类的一个实例。

例如,“教师”是一个类,“王老师”、“李老师”等对象都是“教师”类的实例。

由于对象(类)将密切相关的属性(数据)和方法(操作)定义为一个整体,从而实现了封装和信息隐藏。

使用类时,无需了解其内部的实现细节,一旦数据(结构)修改了,只需修改类内部的局部代码,软件系统的其余部分无需修改。

第六章数据结构的前景1.数据结构将继续随着程序设计的发展而发展;2.面向各专门领域的数据结构得到研究和发展,各种空间数据结构也在探索中。

一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。

对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。

一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。

在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。

许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构。

许多时候,确定了数据结构后,算法就容易得到了。

有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。

不论哪种情况,选择合适的数据结构都是非常重要的。

选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。

这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是其中之一。

可见数据结构的发展前景是不可限的。

相关文档
最新文档