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

数据结构是数据元素的集合,包括数据类型、抽象数据类型和数据的逻辑与物理结构。逻辑结构包含集合、线性、树形和图状结构,而物理结构有顺序、链式、索引和散列存储。存储结构影响数据运算的效率和空间分配。抽象数据类型定义了数据的逻辑结构和相关运算,不涉及具体实现。
摘要由CSDN通过智能技术生成


第一章 绪论

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


1.1 数据结构的基本概念

难度:☆

知识总览

在这里插入图片描述

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


1.1_1 基本概念和术语

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

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

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

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


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

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

  • 具体数据类型

1)原子类型。其值不可再分的数据类型。
在这里插入图片描述
2) 结构类型。其值可以再分解为若干成分(分量)的数据类型。

在这里插入图片描述

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

  • 抽象数据类型

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

ADT用数学化的语言定义数据的逻辑结构、定义运算。
与具体的实现无关 - 不讨论具体的存储结构。
在这里插入图片描述


1.1_2 数据结构的三要素

数据的逻辑结构

  • 集合
  • 线性结构
  • 树形结构
  • 图状结构(网状结构)
  1. 集合:
    在这里插入图片描述

  2. 线性结构:

在这里插入图片描述
在这里插入图片描述

  1. 树形结构:
    在这里插入图片描述
    在这里插入图片描述

  2. 图结构:
    在这里插入图片描述
    在这里插入图片描述

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


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

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

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

在这里插入图片描述

  1. 链式存储逻辑上相邻的元素在物理位置上可以不相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。
    在这里插入图片描述

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

在这里插入图片描述

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

可以将顺序存储以外的几种存储结构统称为:非顺序存储
在这里插入图片描述


绪论部分需要理解三点:

  1. 若采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储,则各个数据元素在物理上可以是离散的
    在这里插入图片描述

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

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

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

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

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


数据的运算

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

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

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

  1. 实现:
    存储结构 - 顺序/链式
    在这里插入图片描述

知识回顾与重要考点

在这里插入图片描述
数据结构这门课着重关注的是数据元素之间的关系,和对这些数据元素的操作,而不关心具体的数据项内容

在这里插入图片描述
定义一个ADT,就是定义了数据的逻辑结构、数据的运算。也就是定义了一个数据结构。

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H3T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值