数据结构入门

#数据结构的研究内容、基本概念和术语

##数据结构的研究内容
在非数值计算领域处理一些新的、杂乱无章、具有一定结构的数据:字符、表格、图像、声音……

分为三个方面:
####逻辑结构
研究对象的特性及其相互之间的关系
####存储结构
有效组织计算机存储
####算法
有效实现对象之间的“运算“关系

##基本概念和术语

###数据
可输入计算机且能被计算机处理的各种符号的集合
包括:
数值型的数据:整数、实数等
非数值型的数据:文字、图像、声音等

###数据元素<元素、记录、结点、顶点>
数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
一个数据元素可由若干个数据项< 构成数据元素的不可分割的最小单位>组成

###数据对象
性质相同数据元素的集合,是数据的一个子集
例如:整数、字母字符、学籍表

###数据结构
是数据元素相互之间的关系

包括以下三个方面的内容:
1:数据元素之间的逻辑及关系,也称为逻辑结构
2:数据元素及其关系在计算机内存中的表示(映像),称为数据的物理结构或者数据的存储结构
3:数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的储存结构上的实现

数据结构的两个层次
####逻辑结构
与数据的储存无关,独立于计算机
从具体问题中抽象出来的数学模型
####储存结构
是数据结构在计算机中的表现
#####数据结构与储存结构之间的关系
储存结构是逻辑关系的映像与元素本身的映像
逻辑结构是数据结构的抽象,存储结构是数据结构的实现
两者综合起来建立了数据元素之间的结构关系

###逻辑结构的种类
(1)集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无其他任何关系
(2)线性结构:结构中的数据元素之间存在着一对一的线性关系
(3)树形结构:结构中的数据元素之间存在着一对多的层次关系
(4)图状结构或网状结构:结构中的数据元素之间存在 着多对多的任意关系

###存储结构的种类
(1)顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示
(2)链式存储结构:用一组任意的存储单位存储数据元素,数据元素之间的逻辑关系用指针来表示
(3)索引存储结构
(4)散列存储结构

###抽象数据类型
是指一个数学模型以及定义在此数学模型上的一组操作
由用户定义,从问题抽象出数据模型(逻辑结构)
还包括定义在数据模型上的一组抽象运算(相关操作)
不考虑计算机类的具体存储结构与运算的具体实现算法
数据类型=值的集合+值集合上的一组操作

形式定义:
抽象数据类型可用**(D,S,P)三元组**表示
其中:
D是数据对象
S是D上的关系集
P是对D的基本操作

一个抽象数据类型的定义格式如下:
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT 抽象数据类型名
其中:
数据对象、数据关系的定义用伪代码描述
基本操作的定义格式及其说明为:
(1)基本操作名(参数表):赋值参数只为操作提供输入值。
引用参数以&打头,除可提供输入之外,还将返回操作结果。
(2)初始条件:描述操作执行前数据结构和参数应该满足的条件,若不满足,则操作失败,并返回相应出错信息。若初始条件为空,则省略之。
(3)操作结果:说明操作正常完成之后,数据结构的变化状况和应返回的结果。

###抽象数据类型的实现
ADT 抽象数据类型名
{
Data
数据对象的定义
数据元素之间逻辑关系的定义
Operation
操作 1
初始条件
操作结果描述
操作 2
……
操作 n
……

}ADT 抽象数据类型名

抽象数据类型(ADT)定义举例:Circle的定义

/*
ADT Circle 
{
数据对象:D={r,x,y|r,x,y均为实数}
数据关系:R={<r,x,y>|r是半径,<x,y>是圆心坐标}
基本操作:
Circle(&C,r,x,y)
          操作结果:构造一个圆
double Area(C)
         初始条件:圆已存在。
         操作结果:计算面积。
double Circumstance(C)
         初始条件:圆已存在。
         操作结果:计算周长。
    ……
}ADT Circle
 */    
   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值