- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数据结构1基本概念
在不同的编程环境中 存储结构可有不同的描述方法。 当用高级程序设计语言进行编程时,通常可用高级编程语言中提供的数据类型描述之。 例如:以三个带有次序关系的整数表示一个长整数时,可利用C++语言中提供的整数数组类型,定义长整数为: int long_int[3]; 抽象数据类型的表示和实现 抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。 例如,定义抽象数据类型“复数” 数据对象: D={e1,e2|e1,e2∈RealSet } 数据关系: R1={e1,e2 | e1是复数的实数部分, | e2 是复数的虚数部分 } ADT Complex { 基本操作: AssignComplex( Z, v1, v2 ) 操作结果:构造复数 Z,其实部和虚部 分别被赋以参数 v1 和 v2 的值。 DestroyComplex( Z) 操作结果:复数Z被销毁。 GetReal( Z, realPart ) 初始条件:复数已存在。 操作结果:用realPart返回复数Z的实部值。 GetImag( Z, ImagPart ) 初始条件:复数已存在。 操作结果:用ImagPart返回复数Z的虚部值。 Add( z1,z2, sum ) 初始条件:z1, z2是复数。 操作结果:用sum返回两个复数z1, z2 的 和值。 } ADT Complex 抽象数据类型的描述方法 抽象数据类型可用(D,S,P)三元组表示 其中,D 是数据对象, S 是 D 上的关系集, P 是对 D 的基本操作集。 ADT 抽象数据类型名 { 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉 } ADT 抽象数据类型名 其中基本操作的定义格式为: 基本操作名(参数表) 初始条件:〈初始条件描述〉 操作结果:〈操作结果描述〉 赋值参数 指为操作提供输入值; 引用参数 以打头,除可提供输入值外, 还将返回操作结果。 初始条件 描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。 操作结果 说明了操作正常完成之后,数据结构的变化状况和应返回的结果。若初始条件为空,则省略之。 * 凡是能被计算机识别、存取和加工处理的符号、.字符、图形、图像、声音、视频信号、程序等一切信息都可以称为数据 . 数据结构作为一门独立的学科始于1968年,但在此之前有关内容已散见于编译原理和操作系统的教材之中。1968年,美国的图灵奖”获得者克努特(D.E.Knuth)教授开创了数据结构的最初体系,他的著作《计算机程序设计艺术》第1卷《基本算法》是第一本比较系统地阐述数据的逻辑结构和存储结构及其操作的著作。20世纪60年代末到70年代,出现了大型程序,软件也相对独立,结构程序设计即成为程序设计的主要内容。人们越来越重视数据结构,著名的瑞士计算机科学家沃斯(N.Wirth)教授指出,算法斗数据结构:程序。70年代中期到80年代初,各种版本的数据结构著作相继出现。目前,数据结构的发展并未终结,一方面,面向各专门领域中特殊问题的数据结构得到研究和发展,例如多维图形数据结构等;另一方面,从抽象数据类型和面向对象的观点来讨论数据结构已成为一种新的趋势,越来越为人们所重视。从我国计算机教学现状来看,数据结构不仅是计算机专业教学计划中的核心课程之一,而且已逐步成为非计算机专业的主要选修课程之一。数据结构又是一门介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机科学中,数据结构不仅是一般非数值计算程序设计的基础,而且是设计和实现汇编语言、编译程序、操作系统、数据库系统,以及其他系统程序和大型应用程序的重要基础。打好数据结构课程的扎实基础,对于学习计算机专业的其他课程,例如操作系统、编译原理、数据库管理系统、软件工程和人工智能等都是十分有益的。 程序分为数值计算程序和非数值计算程序,数据结构的内容在非数值计算中显的尤为重要。 * 数据在真正用程序进行操作时,还必须对其进行类型分类。所以从抽象数据类型的观点来讨论数据结构,已称为一种新的趋势,越来越被人们所重视。 每个类型隐含或明显规定了在程序执行期间其变量或表达式允许取值的范围以及允许进行操作。 * 抽象数据类型是数据类型的扩展和抽象: -数据结构(数据对象D及其关系S) -定义在数据结构上的基本操作和算法(P) * 尼古拉斯·沃斯(Niklaus Wirth,1934
文档评论(0)