笔记-数据结构(一)

有哪些数据结构

  1. 队列
  2. (字符)串
  3. 数组
  4. 线性表
  5. 广义表
  6. 二叉树

重点:线性表、二叉树

数据概念:

数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合

例如:

姓名 年龄 身高/cm 体重/斤
李明 18 175 120
李三 20 185 168
王五 29 165 170
赵四 30 195 180

数据项:

具有原子性,是不可分割的最小数据单位(18岁就是数据项,175、120斤这都是数据项,不能够再拆分了)
笔记-数据结构(一)_第1张图片

数据元素:

数据元素是数据的基本单位,是数据集合的个体,通常由若干个数据项组成,在计算机程序中通常作为一个整体来进行处理。
例如:把李明 18岁 175 120斤 这些数据项都加起来就是一个数据元素-----人(也可以是学生,老师等等)
笔记-数据结构(一)_第2张图片

数据对象:

数据对象是性质相同的数据元素的集合,是数据的子集。
例如:把李明、王五、赵四等这些人所有信息都汇集起来就叫对象
笔记-数据结构(一)_第3张图片

数据结构:

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。是组织并存储数据一遍能够有效使用的一种专门格式,它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈什么结构。

数据结构的两种表现形式:

  1. 数据的逻辑结构
  2. 数据的存储结构

数据结构=逻辑结构+存储结构
数据结构=逻辑结构+存储结构+(在存储结构基础上)运算/操作
笔记-数据结构(一)_第4张图片

数据逻辑结构:

分类一:

  1. 线性结构
  2. 非线性结构

分类二:

  1. 集合结构
  2. 线性结构
  3. 树状结构
  4. 网络结构

线性结构:
有且有一个开始结点和一个终端结点,并且所有的结点都最多只有一个直接前驱和后继。
四个基本特征:

  1. 集合中必存在唯一的一个“第一元素”;
  2. 集合中必存在唯一的一个“最后的元素”;
  3. 除第一元素之外,其它数据元素均有唯一的“前驱”;
  4. 除最后元素之外,其它数据元素均有唯一的“后继”;

例如5个人排队,第一个人是没有“前驱的”,因为他自己是第一个,最后一个人是没有“后继的”,因为他是最后一个。中间排队的前边只能排一个人,后边也只能排一个人。这样的队列就叫线性结构。
笔记-数据结构(一)_第5张图片
非线性结构:
非线性结构的逻辑特征是一个结点元素可能对应多个前驱和多个直接后继
常见的非线性结构有:树(二叉树)、图等
笔记-数据结构(一)_第6张图片
集合结构:
集合结构有三个特征:

  1. 确定性(集合中的元素必须是确定的)
  2. 唯一性(集合中的元素互不相同,例如A={1,a},则a不能等于1)
  3. 无序性(集合中的元素没有先后之分,如集合{3,4,5}和集合{3,5,4}算作同一个集合)

网络结构:
每个数据元素可以有过个直接前驱元素,也可以有多个直接后驱元素.特点是数据元素之间是多对多的联系。
笔记-数据结构(一)_第7张图片
可以看出集合结构的数据元素关系很弱,数据结构中不对该结构进行研究。该结构的数据元素间的关系是“属于同一个集合”,别无其他关系。

数据的存储结构

数据的存储结构主要包括数据元素本身的存储以及数据元素之间关系表示,是数据的逻辑结构在计算机中的表示
常见的存储结构有:顺序结构,链式结构,索引结构,散列结构。

顺序存储结构:
把逻辑上相邻的结点存储在屋里位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。由此得到存储结构为顺序结构,通常顺序存储结构是借助于计算机程序设计语言的数组来描述的。(数据元素的存储对应于一块连续的存储空间,数据元素之间的前驱和后继关系通过数据元素在存储器中的相对位置来反映)
笔记-数据结构(一)_第8张图片
优点: 节省存储空间,因为分配给数据的存储单元全部存放结点的数据,结点之间的逻辑关系没有占用额外的存储空间。
采用这种方法时,可实现对结点的随机存取,即对每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。
缺点: 插入和删除操作需要移动元素,效率较低。

链式存储结构:
数据元素的存储对应的是不连续的存储空间,每个存储结点对应一个需要存储的数据元素。每个结点是由数据域和指针域组成。元素之间的逻辑关系通过存储结点之间的链接关系反映出来。
特点:

  1. 比顺序存储结构的存储密度小(每个结点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)
  2. 逻辑上相邻的结点物理上不必相邻
  3. 插入、删除灵活(不必移动结点,只要改变结点中的指针)
  4. 查找结点时链式存储要比顺序存储慢
    笔记-数据结构(一)_第9张图片
    索引存储结构:
    除建立存储结点信息外,还建立附加的索引来表示标识结点的地址
    笔记-数据结构(一)_第10张图片
    散列存储结构:
    根据结点的关键字直接计算出该结点的存储地址
    添加、查询速度快
    笔记-数据结构(一)_第11张图片
    笔记-数据结构(一)----完

你可能感兴趣的:(数据结构)