一、问题背景

不管是计算机专业的考研初试还是工作面试,数据结构都是很重要的课程。而博主最近看的王道论坛2020的数据结构开篇就有数据结构的三要素:逻辑结构,存储结构,数据计算,而在数据结构的考研真题和计算机笔试中,总有区分逻辑结构、数据结构的题目。本文就结合所有知识点充分讲解各个元素之间的区别与联系。

二、数据结构的三要素:逻辑结构,存储结构,数据计算

1.数据结构的思维导图

下图是博主用Xmind绘制的数据结构三要素逻辑结构,存储结构,数据计算的最详细的思维导图。

如果你想具体了解一下逻辑结构中的线性表,顺序表,有序表,链表,数组的概念的区别与联系,可以点击博主的博文数据结构考研:线性表,顺序表,有序表,链表,数组的概念的区别与联系(软件工程/计算机/王道论坛)。

如果你想具体了解一下存储结构中的随机存取、顺序存取、随机存储和顺序存储的区别/详细解释,可以点击博主的博文数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)。

2.逻辑结构、数据结构的实例分类

在数据结构的考研真题和计算机笔试中,总有区分逻辑结构、数据结构的题目,因此博主总结了以下绝大部分的逻辑结构和数据结构:
逻辑结构:有序表、线性表、栈、队列、串、广义表、非线性表、集合、树、一般树、二叉树、图、有向图、无向图。
数据结构:顺序表、数组、链表、单链表、双链表、循环链表、静态链表、索引表、哈希表、线索二叉树。

3.逻辑结构、数据结构的区分方法

逻辑结构数据结构的区分判定方法:当一个结构(如数组、链表、树、图),在逻辑结构中只有一种定义,而在存储结构中却有两种或多种定义,那么这个结构就属于逻辑结构;相反,当此结构在原有基础上加上了某种限定词(如二叉树->线索二叉树),使得其在存储结构中只有一种定义,那么这个结构就称为数据结构

举例1:属于什么结构?
分析:在逻辑结构中只能属于线性结构,而在存储结构中它可以使用顺序存储(数组),也可以使用链式存储(链表),所以说是一种逻辑结构。

举例2:线索二叉树属于什么结构?
分析:首先因为二叉树既可以顺序存储又可链式存储,故可以得到二叉树是一种逻辑结构。但是线索二叉树二叉树加上限定词线索后的链表结构(不能用顺序存储),也就是说,线索二叉树在计算机内部的只有一种存储结构,所以线索二叉树是数据结构。

逻辑结构数据结构的区别点在于:数据的逻辑结构是独立于在计算机中的存储结构的,数据的存储方式有多种不同的选择。例如栈是一种逻辑结构,它可以用顺序存储也可以用链式存储;而数据结构是既可以描述逻辑结构又可以描述存储结构数据运算,必须包含这三种元素。所以像顺序表、哈希表、单链表都是数据结构。


本文参考文献:
[1]线性表,顺序表,链表,数组的区别与联系
[2]数据结构知识整理4线性表——顺序表、链表、有序表
[3]有序表
[4]如何判断某种结构是逻辑结构还是存储结构或数据结构?
[5]随机存取、顺序存取、随机存储和顺序存储
[6]随机存取-百度百科
[7]顺序表(顺序存储结构)及初始化详解
[8]磁盘系统基本概念以及磁盘的顺序读写与随机读写
[9]顺序存储结构-百度百科
[10]四种数据存储结构—顺序存储 链接存储 索引存储 散列存储

数据结构考研:数据结构的三要素:逻辑结构,存储结构,数据计算的详细区分与讲解(软件工程/计算机/王道论坛)相关推荐

  1. Python 数据结构 之 线性表 的链式存储结构

    用Python 来实现 C语言中 线性表的链式存储结构. 文章转载请注明:  Python 数据结构 之 线性表 的链式存储结构 代码地址 https://github.com/WenkeZhou/P ...

  2. SATA、SAS、SSD三种硬盘存储性能数据

    文章目录 SATA.SAS.SSD三种硬盘存储性能数据 顺序读 顺序写 随机读 随机写 结论: SATA.SAS.SSD三种硬盘存储性能数据 顺序读 可以看到 在对4KB数据包进行连续读的情况下: S ...

  3. 数据结构三要素——逻辑结构和物理结构与数据运算之间的关系

    数据结构的三要素是:逻辑结构,物理结构,数据的运算. 逻辑结构: 分为线性结构个非线性结构. 线性结构就是有一一对应的关系的,如A-B-C,这三个字母就符合线性结构. 非线性结构就是集合,树,图.集合 ...

  4. C语言——数据结构之广义表(概念及其存储结构)

    前言 本节我们来说说C语言中的广义表.主要介绍广义表的概念定义,并说明其存储结构,算法中将使用到递归思想. 广义表是线性表的一种推广,在数据结构中有广泛应用. 一.广义表的概念 1.广义表的概念 (1 ...

  5. 数据结构与算法——栈的链式存储结构及实现

    目录 前言 一.栈的链式储存结构 二.栈的链式储存结构的操作 2.1   进栈操作 2.2   出栈操作 总结 前言 讲完了栈的顺序储存结构,我们现在来看看栈的链式存储结构,简称为链栈. 由于单链表中 ...

  6. 《MYSQL是怎样运行的》笔记|配置文件|系统变量|字符集|InnoDB存储结构|数据页结构|索引结构与使用|数据目录|表空间|连表原理|查询优化|BufferPool|事务|redo与undo|锁

    <MYSQL是怎样运行的>笔记 前记: 历时15天,笔记+看书.完成于2022.2.5. 本书是讲具体的数据库实现,而数据库系统概念见:https://blog.csdn.net/qq_4 ...

  7. 西工大NOJ数据结构理论——013.以十字链表为存储结构实现矩阵相加(严5.27)

      我第一下拿到这个题目,第一反应就是先定义好数据结构,然后构建好十字链表基础操作的函数,也就是"创插遍历"这些操作.下面是我的定义和函数操作. typedef int ElemT ...

  8. 大话数据结构二十二:图的存储结构之边集数组

    1. 边集数组简介: 边集数组由两个一维数组构成: 1.) 一个存储顶点信息. 2.) 一个存储边的信息,这个边数组每个数据元素由一条边的起点下标(begin).终点下标(end).和权(weight ...

  9. 【大话数据结构C语言】38 图的存储结构(邻接矩阵)

    我的首发平台是公众号[CodeAllen],学习交流QQ群:736386324,转载请注明出处 因为图人任意两点之间都可能存在联系,所以无法用数据元素在内存中的物理位置表示元素之间的关系 因此将数组和 ...

最新文章

  1. 计算机专业英语chapter012,计算机专业英语 chapter_1.ppt
  2. 关于Angularjs中自定义指令一些有价值的细节和技巧
  3. 【javascript】数字相加
  4. WPF使用Animation仿WeChat(微信)播放语音消息
  5. leetcode242. 有效的字母异位词
  6. 线程休眠 sleep
  7. C++信息学奥赛一本通_1020
  8. 基于SSM实现高校应届生就业管理系统
  9. Vue动态渲染本地图片
  10. python爬虫——百度文本审核技术
  11. 解决“用友U8输入中文汉字显示问号“的问题
  12. linux mc服务器 mod_官方minecraft服务器简单开服方法[linux][minecraft1.5.2]
  13. 《Dreamweaver CS6 完全自学教程》笔记 第十四章:使用 CSS 设计网页
  14. Order by 1 的解释
  15. meta viewport原理
  16. nginx静态资源以及多个站点配置
  17. 直播回顾 | 一起来get 电商风控实操知识点
  18. Android:从源码剖析Hander机制
  19. LNMP架构搭建(源码编译)
  20. 微型计算机怎么没声音,我的电脑怎么没声音了

热门文章

  1. R语言中实现线性回归+l_0范数变量选择的包abess
  2. (附源码)计算机毕业设计SSM机械零件生产管理系统
  3. 人脸识别发展的关键技术是什么?
  4. 26款Android反编译工具
  5. No such file or directory及解决方法
  6. vue 高德地图 定位插件 地图实例插件 获取点击的地方的经纬度和具体地址
  7. mysql find in set 函数在pgsql中的函数写法
  8. shell脚本系列-正则表达式介绍
  9. 计算机学院研究生录取名单,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
  10. matlab 中的三次样条插值函数spline使用说明