0.基本概念——数据结构学习

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

  • 数据:描述客观事物的符号,是计算机可以操作的对象,是能被计算机识别,并输出给计算机处理的符号集合。
  • 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
  • 数据项:一个数据元素可以由若干个数据项组成------不可分割的最小单位。
  • 数据对象:性质相同的数据元素的集合,是数据的子集
  • 结构:不同数据元素之间不是独立的,而是存在特定的关系
  • 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

存储结构

逻辑结构

数据对象中数据元素之间的相互关系。

  1. 集合结构

    除了同属于一个集合外,它们之间没有任何关系

  2. 线性结构

    数据元素之间是一对一的关系

  3. 树形结构

    数据元素之间存在一种一对多的层次关系

  4. 图形结构

    数据元素是多对多的关系

物理结构

数据的逻辑结构在计算机中的存储形式。

数据的存储结构正确反应数据元素之间的逻辑关系!如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点。

  1. 顺序存储结构

    把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。

  2. 链式存储结构

    把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以不是连续的。

数据元素的存储关系无法反映其逻辑关系,因此需要一个指针存放数据元素的地址

  • 逻辑结构面向问题
  • 物理结构面向计算机

数据类型

一组性质相同的值的集合及定义在此集合上的一些操作的总称。

定义

按照值的不同进行划分,类型就用来说明变量或表达式的取值范围和所能进行的操作。

抽象数据类型

Abstract Data Type,简称ADT:一个数学模型及定义在该模型上的一组操作。

抽象数据类型的定义仅取决于它的一组逻辑特性,与其在计算机内部如何表示和实现无关。

ADT体现了程序设计中问题分解、抽象和信息隐藏的特性。


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

相关推荐
小淮AI4 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
shehuiyuelaiyuehao6 小时前
算法31,前缀和,可被k整除的子数组
数据结构·python·算法
wixzjsh6 小时前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http
ZhiMuZhiLing6 小时前
拓客软件学习成本实测方法论:从注册到出第一批名单要多久
学习·流量运营·用户运营
程序员大雄学编程6 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
LuminousCPP8 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
指针常量8 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
wuyk5559 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
纪念 2299 小时前
数据结构排序(三)
数据结构
船厂电气自动化ai大模型10 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法