[入门必看]数据结构1.1:数据结构的基本概念

[入门必看]数据结构1.1:数据结构的基本概念

  • 第一章 绪论
  • 1.1 数据结构的基本概念
    • 知识总览
    • 1.1.1 基本概念和术语
      • 数据类型、抽象数据类型:
    • 1.1.2 数据结构的三要素
      • 数据的逻辑结构
      • 数据的物理结构(存储结构)
      • 数据的运算
  • 知识回顾与重要考点


第一章 绪论

小题考频:8
大题考频:11


1.1 数据结构的基本概念

难度:☆

知识总览

数据结构

  1. 基本概念
  • 数据
  • 数据元素、数据项
  • 数据对象、数据结构
  • 数据类型、抽象数据类型(ADT)
  1. 三要素
  • 逻辑结构
  • 物理结构(存储结构)
  • 数据的运算

本节概念多,抓大放小,形成知识框架,不必纠结细节概念。


1.1.1 基本概念和术语

  1. 数据:是信息的载体 - 能输入到计算机中并被计算机程序识别
    ——二进制0和1
  2. 数据元素:数据的基本单位,通常作为一个整体进行考虑和处理,可由若干数据项组成。
    ——学生记录 - 数据元素;学号、姓名、性别等 - 数据项
    ——账号 - 数据元素;昵称 - 数据项1;性别 - 数据项2;年 月 日 - 组合项

要根据实际的业务需求来确定什么是数据元素、什么是数据项。

  1. 数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
  2. 数据对象:是具有相同性质的数据元素的集合,是数据的一个子集。

数据结构:某个特定门店的排队顾客信息和它们之间的关系 —— 有关系
数据对象:全国所有门店的排队顾客信息 —— 有相同性质


数据类型、抽象数据类型:

数据类型是一个值的集合和定义在此集合上的一组操作的总称。

  • 具体数据类型

1)原子类型。其值不可再分的数据类型。
[入门必看]数据结构1.1:数据结构的基本概念_第1张图片
2) 结构类型。其值可以再分解为若干成分(分量)的数据类型。

[入门必看]数据结构1.1:数据结构的基本概念_第2张图片

在结构体中可以定义不同的分量,其可以是不同的数据类型。
可以取哪些值,进行哪些操作,根据具体的业务需求决定。

  • 抽象数据类型

抽象数据类型(Abstract Data Type,ADT)是抽象数据组织及与之相关的操作。

ADT用数学化的语言定义数据的逻辑结构、定义运算。
与具体的实现无关 - 不讨论具体的存储结构。
[入门必看]数据结构1.1:数据结构的基本概念_第3张图片


1.1.2 数据结构的三要素

数据的逻辑结构

  • 集合
  • 线性结构
  • 树形结构
  • 图状结构(网状结构)
  1. 集合:
    [入门必看]数据结构1.1:数据结构的基本概念_第4张图片

  2. 线性结构:

[入门必看]数据结构1.1:数据结构的基本概念_第5张图片
[入门必看]数据结构1.1:数据结构的基本概念_第6张图片

  1. 树形结构:
    [入门必看]数据结构1.1:数据结构的基本概念_第7张图片
    [入门必看]数据结构1.1:数据结构的基本概念_第8张图片

  2. 图结构:
    [入门必看]数据结构1.1:数据结构的基本概念_第9张图片
    [入门必看]数据结构1.1:数据结构的基本概念_第10张图片

集合基本不讨论
线性结构在第二、三章
树形结构在第四章
图结构第五章


数据的物理结构(存储结构)

各个数据元素在内存中如何存储
如何用计算机表达数据元素的逻辑关系

  • 顺序存储
  • 链式存储
  • 索引存储
  • 散列存储
  1. 顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

[入门必看]数据结构1.1:数据结构的基本概念_第11张图片

  1. 链式存储逻辑上相邻的元素在物理位置上可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。
    [入门必看]数据结构1.1:数据结构的基本概念_第12张图片

  2. 索引存储。在存储元素信息的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)

[入门必看]数据结构1.1:数据结构的基本概念_第13张图片

  1. 散列存储。根据元素的关键字直接计算出该元素的存储地址,又称哈希( Hash)存储
    将在第六章,散列表中介绍。

可以将顺序存储以外的几种存储结构统称为:非顺序存储
[入门必看]数据结构1.1:数据结构的基本概念_第14张图片


绪论部分需要理解三点:

  1. 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的
    [入门必看]数据结构1.1:数据结构的基本概念_第15张图片

顺序存储 - 排队
非顺序存储(离散存储) - 取号

  1. 数据的存储结构影响存储空间分配的方便程度

Eg. 如果有人想插队
顺序存储 - 插队位置后所有人挪一位
非顺序存储(离散存储) - 可分配到任何一个空闲的位置

  1. 数据的存储结构影响对数据运算的速度

Eg. 找到第三个人
顺序存储 - 直接找站在第三位的
非顺序存储(离散存储) - 从取的号开始找


数据的运算

施加在数据上的运算包括运算的定义和实现。
运算的定义针对逻辑结构的,指出运算的功能;
运算的实现针对存储结构的,指出运算的具体操作步骤。

  • Eg.排队:
  1. 定义:
    逻辑结构 - 线性结构(队列)

结合现实需求定义队列这种逻辑结构件的运算:
①队头元素出队;(叫号)
②新元素入队;(取号)
③输出队列长度;
……

  1. 实现:
    存储结构 - 顺序/链式
    [入门必看]数据结构1.1:数据结构的基本概念_第16张图片

知识回顾与重要考点

[入门必看]数据结构1.1:数据结构的基本概念_第17张图片
数据结构这门课着重关注的是数据元素之间的关系,和对这些数据元素的操作,而不关心具体的数据项内容

[入门必看]数据结构1.1:数据结构的基本概念_第18张图片
定义一个ADT,就是定义了数据的逻辑结构、数据的运算。也就是定义了一个数据结构。

确定一种存储结构,就意味着在计算机中表示出数据的逻辑结构。存储结构不同,也会导致运算的具体实现不同。确定了存储结构,才能实现数据结构

[入门必看]数据结构1.1:数据结构的基本概念_第19张图片

你可能感兴趣的:(#,第1章,绪论,数据结构,算法)