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

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

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

存储结构

逻辑结构

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

  1. 集合结构

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

  2. 线性结构

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

  3. 树形结构

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

  4. 图形结构

    数据元素是多对多的关系

物理结构

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

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

  1. 顺序存储结构

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

  2. 链式存储结构

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

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

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

数据类型

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

定义

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

抽象数据类型

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

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

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


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

相关推荐
良木生香2 分钟前
【C++初阶】:STL——String从入门到应用完全指南(1)
c语言·开发语言·数据结构·c++·算法
XWalnut21 分钟前
LeetCode刷题 day16
数据结构·算法·leetcode·链表·动态规划
寒秋花开曾相惜36 分钟前
(学习笔记)4.1 Y86-64指令集体系结构(4.1.4 Y86-64异常&4.1.5 Y86-64程序)
开发语言·jvm·数据结构·笔记·学习
莹宝思密达1 小时前
【AI学习】 playwright-cli + SKILL 替换 chrom-devTools-MCP
学习
cyr___1 小时前
Unity教程(二十七)技能系统 黑洞技能(下)黑洞状态
学习·游戏·unity·游戏引擎
foundbug9992 小时前
基于混合整数规划的电池容量优化 - MATLAB实现
数据结构·算法·matlab
自我意识的多元宇宙3 小时前
树、森林——树与二叉树的应用(哈夫曼树的构造)
数据结构
豆瓣鸡3 小时前
Gradle学习
学习
海绵宝宝的月光宝盒3 小时前
2-非金属材料
经验分享·笔记·学习·其他·职场和发展·课程设计·制造
水蓝烟雨3 小时前
2071. 你可以安排的最多任务数目
数据结构·链表