数据结构-序章

  • 数据结构的研究内容

  • 基本概念和术语

  • 算法和算法分析

  • 了解数据结构研究的主要内容

  • 掌握数据结构中涉及的基本概念

  • 掌握算法、算法的时间复杂度及其分析的简易方法

什么是数据结构

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:
Data_Structure=(D,R)
其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。

简言之数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。
下面通过几个例子更加全面直观的认识一下数据结构:
【例】索引表
按分类号

001高等数学
002理论力学
003高等数学
004线性代数

按作者

樊映川高等数学
华罗庚高等数学
栾汝书线性代数

此例即数据结构中的线性表
【例】人机对弈
在这里插入图片描述
此例即数据结构中的树
【例】古老的七桥
在这里插入图片描述
此例即数据结构中的图

基本结构和术语

  • 数据(data): 所有能输入到计算机中去的描述客观事物的符号。
    -*数值型数据
    -*非数值型数据
  • 数据元素(data element): 数据的基本单位,也称结点(node)或记录(record)
  • 数据项(data item): 有独立含义的数据最小单位,也称域(field)
    数据 > 数据元素 > 数据项
    【例】学生表 > 个人记录 > 学号、姓名…
  • 数据对象(data object): 相同特性数据元素的集合,是数据的一个子集。
    【例】整数数据对象
    N = {0,±1,±2…}

研究对象

逻辑结构

根据数据元素间关系的基本特性,有四种基本逻辑结构。

  • 集合——数据元素间除“同属于一个集合”外,无其它关系。
  • 线性结构——一个对一个,如线性表、栈、队列。
  • 树形结构——一个对多个,如树。
  • 图状结构——多个对多个,如图。
存储结构
  • 顺序存储结构
    借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。
  • 链式存储结构
    借助指示元素存储地址的指针表示数据元素间的逻辑关系。
  • 散列存储结构
    通过关键字直接计算得到数据元素的存储位置。

抽象数据类型的特性

抽象数据类型(abstract data type-ADT):

指一个数学模型以及定义在该模型上的一组操作。由用户定义用以表示应用问题的数据模型;由基本的数据类型组成,并包括一组相关的操作。

  • 抽象性:强调数据类型的数学特性,与其在计算机内部如何表示和实现无关
  • 可扩展性:由已有的数据类型可扩展出尚未实现的数据类型
    抽象数据类型可以用以下的三元组来表示:
    ADT=(D,S,P)
    (D:数据对象 S:D上的关系集 P:D上的操作集)
    ADT常用定义格式:

ADT抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT抽象数据类型名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值