数据结构 [一] 基本概念

【数据项>数据元素>数据】

  • 数据:描述事物的符号。计算机中用二进制0和1表示。
  • 数据元素:数据的基本单位,每个数据元素包含若干个数据项。
  • 数据项:构成数据元素的最小单位。

【数据结构、数据对象】

  • 数据结构:存在特定关系的数据元素集合(强调元素间关系)
  • 数据对象:相同性质数据元素的集合(不强调关系)

【数据结构三要素】讨论一种数据结构时,要关注的三个方面

  1. 逻辑结构
    (描述数据元素之间的逻辑关系,是数据结构的抽象层面。)
    (它与数据的存储无关,是独立于计算机的。)
    1. 线性结构:一对一关系(如烤串、排队队列)
    2. 集合结构:元素仅同属一个集合(如烤盘上食物)
    3. 树形结构:一对多关系(如目录结构、思维导图)
    4. 图状结构:多对多关系(如微信好友关系网)
  2. 物理结构(存储结构)
    (
    数据在计算机中的实际存储方式,影响存储空间的分配的方便程度+对数据运算的速度。)
    (
    它是用计算机语言实现的逻辑结构,包括数据元素的值+关系的表示。)
    1. 顺序存储 : 数据元素在内存中连续存放。(逻辑上相邻,物理位置也相邻)
    2. 链式存储 : 通过指针链接数据元素。(物理位置可以随意放)
    3. 索引存储 : 建立索引表来定位数据元素。
    4. 散列存储 : 通过哈希函数确定存储位置。
  3. 数据的运算( 包括运算的定义+实现**)**
    1. 运算的定义 针对逻辑结构,指出运算的功能。
    2. 运算的实现 针对存储结构,指出运算的具体操作步骤。

【抽象数据类型 ADT

定义一个ADT== 就是定义了一个数据结构 == 定义了数据的逻辑结构、数据的运算。

【提示&总结】

1 学习任何一种数据结构,都要关注它的三要素(逻辑结构+物理结构+数据的运算)。

2 数据结构这门课,看重的是数据元素之间的关系+操作。

3 先要弄清楚数据的逻辑结构,再去确定合适的存储结构,才能实现数据结构。

相关推荐
williamdsy19 小时前
【MoonBit初探】:从一个“陷阱”到深入理解数据结构*
数据结构·map·moonbit
无敌最俊朗@1 天前
C++ 序列容器深度解析:vector、deque 与 list
开发语言·数据结构·数据库·c++·qt·list
Da Da 泓1 天前
LinkedList模拟实现
java·开发语言·数据结构·学习·算法
jinmo_C++1 天前
数据结构_ 二叉树线索化:从原理到手撕实现
数据结构
钮钴禄·爱因斯晨1 天前
数据结构|图论:从数据结构到工程实践的核心引擎
c语言·数据结构·图论
向前阿、1 天前
数据结构从入门到实战————栈
c语言·开发语言·数据结构·程序人生
洲覆1 天前
Redis 64字节分界线与跳表实现原理
数据结构·数据库·redis·缓存
im_AMBER1 天前
数据结构 02 线性表
数据结构·算法
-雷阵雨-1 天前
数据结构——包装类&&泛型
java·开发语言·数据结构·intellij-idea
gsfl1 天前
redis常见数据结构及其编码方式
数据结构·redis