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. GitHub 的AI代码生成神器,其四成代码有漏洞,你还敢用吗
  2. 程序设置横屏后,锁屏时会被销毁一遍,解锁时又重新加载onCreat的问题解决
  3. 6、检查约束(CHECK)
  4. 混沌系列 | 其实制造“假死”很容易
  5. gdp python 变迁动图_19602018年世界各国GDP排名变化Python动图实现
  6. AirPods 3换新外形啦!还增加了防水和主动降噪功能!
  7. 郎朗钢琴课独家上线知乎 手把手带你开启钢琴之路
  8. Linux启动syslog进程,linux – 使用systemd启动的进程正在记录到/ var / log / syslog和/var/log/daemon.log...
  9. 让小黑人360度旋转的制作技巧
  10. html5好看表格样式,CSS实现的清爽、漂亮的表格样式分享
  11. Linux命令行大全(第二版)
  12. python爬虫课程大纲_马哥2018python全栈+爬虫+高端自动化课程大纲
  13. 记账时对收支、借还款进行分类记录
  14. PHP家庭账单系统,php在线家庭财务管理系统
  15. 无法远程连接到计算机 凭证,win10系统凭证不工作导致远程桌面连接不了的解决办法...
  16. 您需要计算机管理员权限,计算机中出现“你需要计算机管理员提供的权限才能对此文件进行更改”错误的解决方法...
  17. 小米9es更新MIUI 11.0.3.0稳定版本,解决耗电问题
  18. 麦克马斯特大学计算机的强项,麦克马斯特大学什么专业最好?
  19. C++约瑟夫环改良版
  20. BIM轻量化技术解析

热门文章

  1. python实例豆瓣代码_Python制作豆瓣图片的爬虫实例代码
  2. AS引用本地aar文件
  3. 免费资源库_第二篇 文档(1)_数据分析
  4. 美剧字幕组翻译谈如何提高英语听力口语
  5. android 无刷新 好友,Android viewPage notifyDataSetChanged无刷新
  6. MariaDB双机热备份实现
  7. 使用Vitamio库打造万能播放器(一)
  8. 【2020蓝桥杯省赛】【填空题】排序(详解!)
  9. u盘启动linux只有光标闪烁,deepin官方论坛-深度科技官网旗下网站
  10. jeapedu 129 集合的習題3