- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机是一门研究用计算机进行信息表示及处理的科学这
第一章 绪 论; 1.1什么是数据结构
众所周知,计算机的程序是对信息进行加工处理。在大多数情况下,这些信息并不是没有组织,信息(数据)之间往往具有重要的结构关系,这就是数据结构的内容。那么,什么是数据结构呢?先看以下几个例子。
例1、电话号码查询系统
设有一个电话号码薄,它记录了N个人的名字和其相应的电话号码,假定按如下形式安排:
(a1,b1)(a2,b2)…(an,bn)
其中ai,bi(i=1,2…n) 分别表示某人的名字和对应的电话号码要求设计一个算法,当给定任何一个人的名字时,该算法能够打印出此人的电话号码,如果该电话簿中根本就没有这个人,则该算法也能够报告没有这个人的标志。
; 算法的设计,依赖于计算机如何存储人的名字和对应的电话号码,或者说依赖于名字和其电话号码的结构。
数据的结构,直接影响算法的选择和效率。
上述的问题是一种数据结构问题。可将名字和对应的电话号码设计成:二维数组、表结构、向量。
假定名字和其电话号码逻辑上已安排成N元向量的形式,它的每个元素是一个数对(ai,bi), 1≤i≤n
数据结构还要提供每种结构类型所定义的各种运算的算法。
;
; 1.2 基本概念和术语
数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。
数据对象(Data Object):是性质相同的数据元素的集合。是数据的一个子集。
数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。;数据结构主要指逻辑结构和物理结构
数据之间的相互关系称为逻辑结构。通常分为四类基本结构:
一、集合 结构中的数据元素除了同属于一种类型外,别无其它关系。
二、线性结构 结构中的数据元素之间存在一对一的关系。
三、树型结构 结构中的数据元素之间存在一对多的关系。
四、图状结构或网状结构 结构中的数据元素之间存在多对多的关系。
;数据结构的形式定义为:数据结构是一个二元组:
Data-Structure=(D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。
例 复数的数据结构定义如下:
Complex=(C,R)
其中:C是含两个实数的集合﹛C1,C2﹜,分别表示复数的实部和虚部。R={P},P是定义在集合上的一种关系{〈C1,C2〉}。
数据结构在计算机中的表示称为数据的物理结构,又称为存储结构。
; 数据对象可以是有限的,也可以是无限的。
数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。
抽象数据类型:一个数学模型以及定义在该模型上的一组操作。
抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。
用三元组描述如下:
(D,S,P);数据结构在计算机中有两种不同的表示方法:
顺序表示和非顺序表示
由此得出两种不同的存储结构:顺序存储结构和链式存储结构
顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系。
链式存储结构:在每一个数据元素中增加一个存放地址的指针( ),用此指针来表示数据元素之间的逻辑关系。
;数据类型:在一种程序设计语言中,变量所具有的数据种类。
例1、 在FORTRAN语言中,变量的数据类型有整型、实型、和复数型
例2、在C语言中
数据类型:基本类型和构造类型
基本类型:整型、浮点型、字符型
构造类型:数组、结构、联合、指针、枚举型、自定义
数据对象:某种数据类型元素的集合。
例3、整数的数据对象是{…-3,-2,-1,0,1,2,3,…}
英文字符类型的数据对象是{A,B,C,D,E,F,…}
; 1.3 抽象数据类型的表示和实现
抽象数据类型通常是指由用户定义,用以表示应用问题的数据类型,抽象数据类型由基本的数据类型组成,并包括一组相关的服务(或称操作)。
抽象数据类型有些类似于pascal语言中的记录(record)类型和c语言中的构造(struct)类型,但它增加了相关的服务。
;在计算机中使用
文档评论(0)