当前位置: 首页 > news >正文

数据结构 - 概述及其术语

经过上一章节《数据结构与算法之间有何关系?》的阐述,相信大家对数据结构多少有了点了解,今天我们将进入数据结构的正式学习中。

在计算机科学中,数据结构是一种数据管理、组织和存储的格式。它是相互之间存在一种或多种特定关系的数据元素的集合。

在计算机中一个静态数据是没有灵魂的,只有实际使用起来才有意义,而对于一个数据使用必然会面临三个问题:怎么存储,用什么承载,怎么处理。而这不正好和存储、组织、管理所对应吗。这也正是数据结构所研究关注的三要素。

01、三要素

1、物理(存储)结构

怎么存储是指数据最终怎么存储在计算机磁盘上的,这也是我们经常说的物理结构也叫存储结构。

就如同我们收纳内务一样,可能有的人收纳的整整齐齐,按照一定顺序整理,有的人收纳的这一块那一块,感觉毫无章法。而我们也可以根据数据在内存中是否为连续地址存储分为顺序存储和非顺序存储,常见的顺序存储有顺序存储结构,非顺序存储有链式存储结构、索引存储结构和散列存储结构。

2、逻辑结构

用什么承载是指数据从计算机磁盘上取出后,要放哪呢或者说用什么工具把它送给后续的应用使用呢。而这个承载体在我们高级语言就是一个类,一个数据对象,其根源就是我们现在说的数据结构,而此时我们关注的是这个类或这个数据对象数据是怎么组织的,是一对一、一对多、多对多亦或其他关系,而这种关系是纯粹的数据之间的关系无关数据实际存储情况就是逻辑上的一种关系,因此称为逻辑结构。

同样的逻辑结构也有顺序之分,可以分为线性结构与非线性结构。线性结构有数组、链表、栈、队列等,非线性结构有树结构、图结构等。

3、数据运算

怎么处理指当数据已经从计算机磁盘上取出后,怎么加工使用,也就是数据运算,我们可以根据实际业务需求对数据进行各种加工处理,最得到我们想要的结果,这是处理就是我们常说的增删改查排序等操作。

如果说物理(存储)结构是数据结构的家,逻辑结构就是数据结构的骨架,那么数据运算就是数据结构的灵魂,使得数据可以真正产生价值。

02、术语

1、数据

数据是信息的载体,是所有可以录入到计算机中并且可以被识别处理的数字、字符、符合等合集。包括但不限于整数、小数、字母、符号、图片、音频、视频等。

2、数据项

数据项是数据的最小单位,比如我们在设计学生实体的时候定义学号、姓名、年龄等都是数据项。

3、数据元素

我们实际使用中经常会把多个数据项组合在一起,作为一个整体进行统一处理,这样的组合就形成了数据的基本单位数据元素。

比如学生表中每一行数据就是一个数据元素。

4、数据对象

数据对象是指有特定属性和操作的数据的集合。数据对象由多个数据元素组成,数据元素是数据对象的实例。

5、抽象数据类型

抽象数据类型是一个定义,它是抽象了数据的特性及行为并做了相关定义,但是没有具体实现。

比如说栈作为一个抽象数据类型,定义如“入栈、出栈”等操作,但是具体底层是使用数组实现还是链表实现,使用者并不关心。

后面我们继续将对:数组、链表、跳表、栈、队列、树、堆、散列、图九类数据结构进行深入学习,感兴趣的可以持续关注。

:测试方法代码以及示例源码都已经上传至代码库,有兴趣的可以看看。https://gitee.com/hugogoos/Planner

http://www.lryc.cn/news/444408.html

相关文章:

  • UE5——在线子系统
  • 9.23-部署项目
  • 非标独立设计选型--二十六--电磁阀的选型件算
  • flume系列之:出现数据堆积时临时增大sink端消费能力
  • SQL Server全方位指南:从入门到高级详解
  • 【JavaSE】IO模型
  • 手术缝合线合格品检测项目众多 线径又是其重要一环!
  • STM32 单片机最小系统全解析
  • 深度解析ElasticSearch:构建高效搜索与分析的基石原创
  • 【Python常用模块】_PyMySQL模块详解
  • 【算法思想·二叉树】最近公共祖先问题
  • 如何合并pdf文件,四款软件,三步搞定!
  • 仪表放大器AD620
  • 【Qt网络编程】Tcp多线程并发服务器和客户端通信
  • SkyWalking 简介
  • 语音合成(自然、非自然)
  • redis简单使用与安装
  • 封装 WBXpopup 组件
  • 【OJ刷题】双指针问题6
  • 详解:Tensorflow、Pytorch、Keras(搭建自己的深度学习网络)
  • 【CSS in Depth 2 精译_035】5.5 Grid 网格布局中的子网格布局(全新内容)
  • Java是怎么处理死锁的
  • Effective Java 学习笔记 方法签名设计
  • 毛利超70%、超70+智驾客户,这家AI数据训练服务商刚刚止亏
  • 本地部署高颜值某抑云音乐播放器Splayer并实现无公网IP远程听歌
  • 图像压缩编码(4)--H.26x系列视频压缩编码_2
  • JS渲染锻炼输入表单
  • proteus仿真学习(1)
  • 决策树+随机森林模型实现足球大小球让球预测软件
  • 31省市农业地图大数据