数据的逻辑结构和存储结构(物理结构)详解

  • 什么是数据结构
  • 数据的逻辑结构
    • 集合
    • 线性结构
    • 树形结构
    • 图形结构
  • 数据的物理结构(存储结构)
    • 1、顺序存储结构
    • 2、链式存储结构
    • 3、索引存储结构
    • 4、哈希存储结构
  • 存储结构特点
    • 顺序存储结构的特点
    • 非顺序存储的特点
  • 分类
    • 线性结构的特征
    • 非线性结构的特征

什么是数据结构

数据结构,直白地理解,就是研究数据的存储方式。这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。

数据的逻辑结构

指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关。逻辑结构包括

集合

数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;

线性结构

数据结构中的元素存在一对一的相互关系;

树形结构

数据结构中的元素存在一对多的相互关系;

图形结构

数据结构中的元素存在多对多的相互关系;

数据的物理结构(存储结构)

数据的逻辑结构在计算机存储空间中的存放形式
一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。

1、顺序存储结构

存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素。

2、链式存储结构

在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息。

3、索引存储结构

除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成。(顺序存储+索引)

4、哈希存储结构

又称Hash存储,由节点的关键码值决定节点的存储地址。(顺序存储+算列)

存储结构特点

顺序存储结构的特点

借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;

非顺序存储的特点

借助指示元素存储地址的指针表示数据元素之间的逻辑关系。

分类

数据结构有很多种,一般来说,按照数据的逻辑结构对其进行简单的分类,包括线性结构和非线性结构两类。

线性结构的特征

  1. 线性结构是非空集。
  2. 线性结构有且仅有一个开始结点和一个终端结点。
  3. 线性结构所有结点都最多只有一个直接前趋结点和一个直接后继结点。

线性表就是典型的线性结构,还有栈、队列和串等都属于线性结构

非线性结构的特征

  1. 非线性结构是非空集。
  2. 非线性结构的一个结点可能有多个直接前趋结点和多个直接后继结点。

数组、广义表、树结构和图结构等数据结构都属于非线性结构。

数据的逻辑结构和存储结构(物理结构)详解相关推荐

  1. 数据结构概述(逻辑结构与存储结构概念详解)

    目录 一.一些基本概念 二.逻辑结构 1.集合结构: 2.线性结构: 1)线性表: 2)栈 3)队列 4)串 3.非线性结构: 1)数组 2)广义表 3)树 4)堆 5)图 三.物理结构/存储结构 1 ...

  2. 数据的逻辑结构和存储结构

    数据的逻辑结构合存储结构 一,逻辑结构 数据的逻辑结构是对数据元素之间逻辑关系的描述,它与数据在计算机中存储方式无关,根据数据元素之间的不同特性,可以对数据的逻辑结构进行分类 分类1:(选型结构和非线 ...

  3. 广义表头尾链表存储结构_详解Redis五种数据结构的底层原理

    1,redis有五种基本数据结构:string.hash.set.zset.list:底层redis是通过c语言来实现这w五种结构的,具体是如何实现的,我们具体看一下. 2,SDS "sim ...

  4. 【数据结构】数据结构的基本概念——逻辑结构、存储结构、抽象数据类型

    文章目录 一.基本概念和术语? 1.数据 2.数据元素 3.数据项(属性.字段) 4.数据对象 5.数据结构 二.逻辑结构和物理结构(存储结构) 1.逻辑结构 1)定义 2)分类(线性结构和非线性结构 ...

  5. 三、逻辑结构与存储结构的区分

    一.问题背景 不管是计算机专业的考研初试还是工作面试,数据结构都是很重要的课程.而博主最近看的王道论坛2020的数据结构开篇就有按照逻辑结构和存储结构将各种数据结构进行分类,本文就结合所有知识点充分讲 ...

  6. 数据结构(一)逻辑结构和存储结构

    文章目录 数据结构 逻辑结构 集合结构 线性结构 树状结构 网络结构(图形) 物理结构(存储) 顺序存储结构 链式存储结构 索引存储结构 散列存储结构(哈希) 数据结构对性能的影响 数据结构 数据结构 ...

  7. 什么是数据结构以及数据结构的存储方式、逻辑结构和存储结构的关系、数据结构的运算、逻辑结构的四种基本类型

    一.什么是数据结构 1.数据结构的起源         数据结构不是研究数值计算的这些是数学家应该研究的问题,它是研究计算机存储.组织数据的方式问题的学科,数据结构会影响算法的效率,合适的数据结构可以 ...

  8. python存储-Python数据存储之 h5py详解

    1.Python数据存储(压缩) (1)numpy.save , numpy.savez , scipy.io.savemat numpy和scipy内建的数据存储方式. (2)cPickle + g ...

  9. 数据结构之逻辑结构与存储结构

    转自逻辑结构和存储结构 百度百科:数据结构具体指同一类数据元素中,各元素之间的相互关系,包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构.结合今天在复习过程中新的理解,主要总结一下逻辑结 ...

  10. 校园导游图C语言数据结构,用C语言和数据结构中的无向图存储结构编一个校园导游图完全的程序代码.docx...

    用C语言和数据结构中的无向图存储结构编一个校园导游图完全的程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下 ...

最新文章

  1. Numpy 整体复制、按块复制、向量化操作、寻找缺失值、填充缺失值
  2. shujufenxi : baichi xiangzhuanqian
  3. python消费datahub_DataHub使用指南-阿里云开发者社区
  4. 【译】使用Sovrin构建Android应用程序
  5. java后台日期怎么去重,JAVA后台业务实现去重
  6. [Swift]数组排序:sort和sorted
  7. Django,Ajax,Vue实现文章评论功能
  8. 计算机启动类型bios,UEFI还是Legacy BIOS?如何确定Windows启动类型
  9. 水滴石穿C语言之编译器引出的问题
  10. win7您需要来自计算机管理员的权限,win7需要提供管理员权限才能打开文件怎么解决...
  11. lampp mysql 等待响应时间很长_Apache 打开网页的时候等待时间过长的解决方案
  12. java 使用适当的签名_java11教程--类SignatureSpi用法
  13. 剑指offer面试题[12]-打印1到最大的n位数
  14. MSF之IIS6WebDAV执行漏洞复现
  15. c语言数组存在哪个地方,C语言数组考点归纳
  16. 双网口设备 网关设置注意事项
  17. linux怎么看用的哪个网卡驱动,linux下如何查看网卡驱动版本信息?
  18. element-ui tree全部展开和全部折叠
  19. 第八章第五题(代数:两个矩阵相加)(Algebra: adding two matrices)
  20. 论成长型思维的重要性

热门文章

  1. 深度学习——汉字识别
  2. 贪心科技机器学习训练营(三)
  3. matlab学习笔记 struct函数
  4. c语言里的字体怎么设置,C语言中如何添加文字
  5. 对数据库范式的理解以及无损分解技巧
  6. 流利阅读 2019 1.6 What happened at Theranos is a dazzling story of deception
  7. 这些CAD制图初学入门问题你遇到过吗?CAD制图初学入门全攻略!
  8. java抽象类详细介绍
  9. 使用PS让图片制作出渐变效果
  10. 华硕笔记本进bios按哪个键 华硕手提电脑怎么进bios设置