数据结构 [一] 基本概念

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

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

【数据结构、数据对象】

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

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

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

【抽象数据类型 ADT

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

【提示&总结】

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

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

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

相关推荐
张张努力变强1 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
wWYy.1 小时前
数组快排 链表归并
数据结构·链表
李斯啦果2 小时前
【PTA】L1-019 谁先倒
数据结构·算法
Mr Xu_17 小时前
告别硬编码:前端项目中配置驱动的实战优化指南
前端·javascript·数据结构
czxyvX17 小时前
017-AVL树(C++实现)
开发语言·数据结构·c++
数智工坊17 小时前
【数据结构-队列】3.2 队列的顺序-链式实现-双端队列
数据结构
elseif12318 小时前
【C++】并查集&家谱树
开发语言·数据结构·c++·算法·图论
徐小夕@趣谈前端18 小时前
Web文档的“Office时刻“:jitword共建版2.0发布!让浏览器变成本地生产力
前端·数据结构·vue.js·算法·开源·编辑器·es6
Nebula_g19 小时前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机
xuxie9920 小时前
day 23 树
数据结构