数据结构电子书.doc-tabspresso.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构电子书.doc-tabspresso.doc

《数据结构与算法》 天津电子信息职业技术学院 第1章 概述 本章要求: 1.1 数据结构基本概念 数据结构是一门综合性的专业课程,是一门介于数学、计算机硬件、计算机软件之间的一门核心课程。是设计和实现编译系统、操作系统、数据库系统及其他系统程序和大型应用程序的基础。 1.1.1 什么是数据结构 我们知道无论使用计算机做工程计算,还是进行工业控制或信息管理,都属于数据处理的范畴。那么如何在计算机中组织、存储、传递数据就成为一个必须解决的问题,下面我们看几个例子。 1、图书馆的书目检索自动化问题----计算机处理的每一个对象是一种图书信息,而在这些图书信息之间存在着线性关系,称为线性的数据结构。 图1.1 2、人机对奕问题----计算机处理的对象是一个个格局。每一种格局之后都可能再分出几种格局,所有可能出现的格局是一棵倒置的树。这种结构叫做树型结构。 3、多岔路口交通灯的管理问题----计算机处理的是一条条通路。如图所示,总共有五个路口,其中有两个路口只能单向行驶,经过计算这五个路口共有13条通路,(这个问题是很容易算出来的,请大家想一想如果有100个路口,会有多少个通路。) 将每一条通路看作一个节点,用圆圈表示,如果两条通路不能同时通行,就用直线将两个节点相连,那么这个问题变成了一个节点染色的问题,即要求图的每个顶点染一种颜色,而有连线的顶点不能染同样的颜色,要求所染颜色最少,那么这个问题就变成为数学模型是图的数据结构。 图1.2 图1.3 1.1.2 数据结构课程的性质 由以上三个实例,我们可以看出数据结构是一门研究非数值计算程序设计问题中计算机操作对象以及它们之间关系和操作的一门学科。即数据结构的三个要素是:对象、关系及操作(运算)。 1.2基本概念和术语 1.2.1 数据 声音、图象、字符等各种信息要想被计算机处理,必须先转换成数据,那么什么是数据呢,我们给数据下一个定义。 数据是指所有能输入到计算机中并被计算机程序处理的符号的总称。是计算机加工的“原料”。 事实上我们平时所用到的数据主要有两类,一类是数值型数据,如整数,实数,浮点数,主要用于工程和科学计算中,而另一类是非数值数据,主要包括字符和字符串,以及文字、图形、语音等数据。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由多个数据项组成。数据项是数据的不可分割的最小单位。 1.2.2 数据对象 在日常所遇到的问题中,总把数据按其性质归类到一些称之为数据对象的集合中,在数据对象中所有数据成员(数据元素),都具有相同的性质,数据对象是数据的子集。下面给出数据对象的定义。数据对象是性质相同的数据元素的集合,是数据的一个子集。 1.2.3 数据结构 如果综合考虑数据对象以数据对象中所有数据元素的关系,就得到了数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 数据结构的形式定义:数据结构是一个二元组 Data_Structure=(D,S) 其中,D 是数据元素的有限集, S 是D上关系的有限集。 例:课题小组 Group=(P,R) P={T,G1,…,Gn,S11,…,Snm}1≤n≤3,1≤m≤2, R={R1,R2} R1={T,Gi |1≤i≤n, 1≤n≤3,} R2={Gi,Sij |1≤i≤n, 1≤j≤m,1≤m≤2,} 数据结构一般包括三方面的内容: 1、 逻辑结构:数据元素之间的逻辑关系。数据包括四种逻辑结构:集合结构、 线性结构、树型结构、图状结构。 2、 存储结构(物理结构):数据元素及其关系在计算机存储器的表示。数据包 括两种存储结构:顺序结构、链式结构。 3、数据的运算:对数据施加的操作。包括插入、删除、修改、查找等等。 1.2.4 数据的两种存储结构 顺序存储结构:把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。通常顺序存储结构是借助于语言的数组来描述的。 链式存储结构:不要求逻辑上相邻的结点物理上也相邻,结点间的逻辑关系是由附加的指针字段表示的,通常要借助于语言的指针类型来描述。 图 图 1.2.5 数据类型、抽象数据类型 数据类型是一个值的集合和定义在这个值集上的所有的操作。 数据类型主要用于计算机高级语言和低级语言中,例如高级语言中的整型、字符型、浮点型等。汇编语言中的位、字节、字等类型,这些数据类型定义了某些值的集合以及这些值所能进行的操作。 数据类型可分为非结构的原子类型和结构类型。原子类型的值是不可分解的,结构类型的值是由若干成分按某种结构组成的。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。抽象数据类型和

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档