资源描述:
《什么是数据结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、什么是数据结构抽象数据类型及面向对象概念数据结构的抽象层次算法定义性能分析与度量第一章绪论“学生”表格“课程”表格“选课单”包含如下信息学号课程编号成绩时间学生选课系统中实体构成的网状关系学生(学号,姓名,性别,籍贯)课程(课程号,课程名,学分)选课(学号,课程号,成绩)UNIX文件系统的系统结构图/(root)binlibuseretcmathdsswyintaoxieStack.cppQueue.cppTree.cpp数据(data)数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的
2、符号的集合。数值性数据;非数值性数据。数据元素(dataelement)数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。有时一个数据元素可以由若干数据项(DataItem)组成。数据项是具有独立含义的最小标识单位。数据元素又称为元素、结点、记录。数据对象(dataobject)数据的子集。具有相同性质的数据成员(数据元素)的集合。整数数据对象:N={0,1,2,…}学生数据对象。什么是数据结构定义:由某一数据对象及该对象中所有数据成员之间的关系组成。记为:Data_Structure={D,R}其中,D是某一数据对
3、象,R是该对象中所有数据成员之间的关系的有限集合。N个网点之间的连通关系树形关系网状关系152436152436数据结构是数据的组织形式数据元素间的逻辑关系,即数据的逻辑结构;数据元素及其关系在计算机存储内的表示,即数据的存储表示;数据的运算,即对数据元素施加的操作。数据的逻辑结构数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关;数据的逻辑结构可以看作是从具体问题抽象出来的数据模型;数据的逻辑结构与数据元素本身的形式、内容无关;数据的逻辑结构与数据元素的相对位置无关。数据的逻辑结构分类线性结构线性表非线性结构树图(或网络)线性
4、结构树形结构树二叉树二叉搜索树1413121123456789103158710119987456623131bindevetclibuser1堆结构“最大”堆“最小”堆123548711102916410121151236987图结构网络结构12564312543611331814665161921数据的存储结构数据的存储结构是逻辑结构用计算机语言的实现;数据的存储结构依赖于计算机语言。顺序存储表示链接存储表示索引存储表示散列存储表示主要用于内存的存储表示主要用于外存(文件)的存储表示抽象数据类型及面向对象概念数据类型定义:一组
5、性质相同的值的集合,以及定义于这个值集合上的一组操作的总称。C语言中的数据类型charintfloatdoublevoid字符型整型浮点型双精度型无值构造数据类型由基本数据类型或构造数据类型组成。构造数据类型由不同成分类型构成。基本数据类型可以看作是计算机中已实现的数据结构。数据类型就是数据结构,不过它是从编程者的角度来使用的。数据类型是模板,必须定义属于某种数据类型的变量,才能参加运算。抽象数据类型(ADTs:AbstractDataTypes)由用户定义,用以表示应用问题的数据模型。由基本的数据类型组成,并包括一组相关的服务(
6、或称操作)。信息隐蔽和数据封装,使用与实现相分离。抽象数据类型查找登录删除修改符号表自然数的抽象数据类型定义ADTNaturalNumberisobjects:一个整数的有序子集合,它开始于0,结束于机器能表示的最大整数(MaxInt)。Function:对于所有的x,yNaturalNumber;False,TrueBoolean,+、-、<、==、=等都是可用的服务。Zero():NaturalNumber返回自然数0IsZero(x):if(x==0)返回TrueBooleanelse返回FalseAdd(x,y):if
7、(x+y<=MaxInt)返回x+yNaturalNumberelse返回MaxIntSubtract(x,y):if(x8、)构成。类(class),实例(instance)具有相同属性和服务的对象归于同一类,形成类。类中的对象为该类的实例。属性aPoint1aPoint2aPoint3aPoint4服务Draw()move(x,y)contains(aPoint)