数据结构的基本概念

1 数据

数据是计算机程序加工的原料

2 数据元素

数据元素是数据的基本单位,通常作为一个整体进行考虑和处理

3 数据对象

数据对象是具有相同性质的数据元素的集合

4 数据类型

  1. 原子类型:其值不可再分的数据类型
  2. 结构类型:其值可以再分解为若干成分的数据类型
  3. 抽象数据类型:一个数学模型定义在该数学模型上的一组操作

5 数据结构

数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。

数据结构包括三方面内容:逻辑结构,存储结构和数据运算

5.1 逻辑结构

逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。逻辑结构分为线性结构非线性结构

数据结构的逻辑结构分类如图所示:

5.2 存储结构

存储结构是指数据结构在计算机中的表示(也称为映射),也称物理结构 ,它包含数据元素的表示和关系的表示。

主要有顺序存储,链式存储,索引存储和散列存储

  • 顺序存储:把逻辑上相邻的元素存储在物理上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。
  • 链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。
  • 索引存储:在存储元素信息的同时,还建立附加索引表。
  • 散列存储:根据元素的关键字直接计算出该元素的存储地址。

5.3 数据的运算

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

相关推荐
彧azz1 小时前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
景熙55232 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wabs6667 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
雨落在了我的手上9 小时前
Java数据结构(十四):Map和Set
数据结构
码行山野赴时序归途9 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
船厂电气自动化ai大模型11 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
库玛西11 小时前
数据结构与算法之美:树、森林与二叉树全解析
c语言·数据结构·笔记·考研·算法·学习方法
careathers12 小时前
【数据结构】队列
java·数据结构
Rabitebla12 小时前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
我不会起名字32214 小时前
一天一道力扣Hot100(36):深度优先算法---组合总和
数据结构·c++·后端·python·算法·go