1.什么是数据结构
2.数据结构的基本概念

什么是数据结构

在大话数据结构一书中给出:数据结构是一们研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
维基百科:数据结构是计算机中存储、组织数据的方式。
百度百科:数据结构是指相互之间存在这一种或者多种关系的数据元素的集合和该集合中数据元素之间的关系组成。
通过上面的定义可以明白,当我们将一系列数据存放在计算机中时,这些数据和这些数据之间的相互关系就是数据结构。

数据结构的基本概念

要学习数据结构,应该先了解数据结构的基本概念

数据

大话数据结构中的定义是:描述客观事物的符号、计算机中可以操作的对象、能被计算机识别,并输入给计算机处理的符号集合。
说白了数据就是集合,是一系列符号(描述客观事物)、对象的集合。单个的符号不是数据。

数据对象

是性质相同的数据元素的集合,是数据的子集。

数据对象是数据的子集,在实际中处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们都将数据对象简称为数据。

数据元素

数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。

人类中数据元素就是人

数据项

一个数据元素由若干数据项组成。数据项是数据不可分割的最小的单位。

如果人是数据元素,那么鼻子、眼睛和手等都是数据项。

数据结构

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

现实世界中,不同数据元素之间不是相互独立的,而是存在特定的关系,我们将这些关系称为结构。

举个例子,如果下面两个表是数据,那么表一和表二就是数据对象,每个表的每一行数据是
数据元素,每一行的每一项id、昵称等就是数据项。
例子参考文章:数据、数据元素、数据项、数据对象的理解
表一

id 昵称 密码
123 hello ****
124 勿忘 *****

表二

文章 作者 阅读量
如何阅读一本书 hello 12432
数据结构概念 勿忘 24332

逻辑结构与物理结构

逻辑结构

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

逻辑结构分为四种:集合结构、线性结构、树形结构和图形结构。

集合结构

集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。

线性结构

线性结构中的数据元素之间是一对一的关系。

树形结构

树形结构中的数据元素之间存在一对多的层次关系。

图形结构

图形结构中的数据元素是多对多的关系。

在用示意图表示数据的逻辑结构哦的时候要注意:1.将每一个数据元素看作一个节点,用圆圈表示。2.元素之间的逻辑关系用节点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示。

物理结构

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

数据的存储结构应该正确的反应数据元素之间的逻辑关系。
存储结构分为两种:顺序存储和链式存储。

顺序存储结构

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

增加和删除新元素不方便。

链式存储结构

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

学习笔记之数据结构基本概念相关推荐

  1. c语言注释语句执行吗,C语言学习笔记之C语言概念解析(附资料分享)每一个语句都必须以分号结尾但预处理命令函数头和花括号“}”之后不能加分号...

    [[怪兽爱C语言]C语言学习笔记之C语言概念解析(附资料分享)]https://toutiao.com/group/6582429294901854728/?iid=15906422033&a ...

  2. MySQL学习笔记01【数据库概念、MySQL安装与使用】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  3. vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?

    vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 文章目录 vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值? 什么是组件? 为什么要使用组件? 如何使用 ...

  4. python的基本数据结构_Python学习笔记——基本数据结构

    列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...

  5. CISAW风险管理学习笔记(2)-风险管理基本概念

    个人学习总结,CISAW学习笔记之风险管理基本概念:

  6. python的基本数据结构_python学习笔记-基本数据结构

    Python 学习笔记-1 写在最前面,因为组内小伙伴要走,生信团队由原来的7个人,慢慢的变的只有我一个人了,需要紧急突击下python,因为有python的流程要交接维护 python 基本情况 代 ...

  7. 学习笔记 Keras:一些基本概念

    目录: 目录: 一些基本概念 符号计算 张量 data_format 函数式模型 batch epochs 对新手友好的小说明 关于Python 关于深度学习 其他 本系列参考官方文档官方文档 这就是 ...

  8. 学习笔记:区块链概念入门

    本文是100天区块链学习计划的第二篇学习笔记,其实就是按照阮一峰的网络日志-区块链入门教程的讲解进行的简单梳理.也是时间有点紧张的原因,相比于上一篇SHA256算法原理详解,个人感觉质量和原创程度明显 ...

  9. 知识图谱入门学习笔记(一)-概念

    目录 1 知识图谱概念 1.1 深度学习与知识图谱​ 1.2 知识图谱 VS 传统知识库 VS 数据库 1.3 知识图谱本质 1.4 知识表示一语义网络(Semantic Network) 1.5 知 ...

最新文章

  1. 九度OJ 区间问题
  2. VS2019调试查看变量_PL/SQL调试存储过程?看这篇就够了
  3. HDU - 4725 The Shortest Path in Nya Graph(最短路+思维)
  4. spark使用checkpoint恢复的两个小坑
  5. 两种土壤类型数据的简介、下载教程
  6. java ffmpeg amr转wav_FFmpeg转音频格式为wav
  7. 线性二次调节器(LQR)
  8. Matlab读取excel文件绘制折线图
  9. 江恩 计算机,在计算机上绘制江恩角度线 (转贴)
  10. ECB oracle——attack
  11. 概率论 —— 相关分布以及期望方差的求法汇总
  12. 《互联网程序设计》课程:第1讲 JAVA图形窗口程序设计 (完整代码实现)
  13. 怎样做中长线股票,中长线炒股技巧有哪些?
  14. 【ENVI入门系列】01.ENVI产品简介与入门
  15. css mix-blend,详解CSS3的mix-blend-mode属性
  16. sqlserver 创建存储过程及基本语法
  17. 【java毕业设计】基于javaEE+原生servlet+tomcat的教师工资管理系统设计与实现(毕业论文+程序源码)——教师工资管理系统
  18. ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII
  19. GIT配置码云、github
  20. 青龙脚本 小黄鸟配合虚拟机抓变量 软件集

热门文章

  1. 论文阅读笔记《Patch2CAD: Patchwise Embedding Learning for In-the-Wild Shape Retrieval from a Single Image》
  2. 影驰gtx960 2g
  3. 基于pytorch搭建多特征CNN-LSTM时间序列预测代码详细解读(附完整代码)
  4. 「开源」目前见过的全网最好用的智能停车场平台
  5. Unity画线工具--LineRander
  6. centos7无人值守安装系统
  7. ofo已死,是戴威的错吗?
  8. WAS8.5报错SRVE0326E: 已超出每个请求 50 允许的最大参数密钥散列码冲突数目
  9. 细思极恐-你真的会写java吗
  10. Apache PDFBox 将嵌入文件添加到 PDF 文档