2.数据的逻辑结构和存储结构(物理结构)

       存储数据本身,也就是将数据存储到内存里。数据在内存中的存储状态就称为数据的存储结构,也叫物理结构。数据结构中,将数据之间的关系称为数据的逻辑结构

一、数据逻辑结构

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

1.集合:

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

                  

2.线性结构:

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

            

3.树形结构:

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

4.图形结构:

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

                          

5. 针对每一种逻辑结构的数据,数据结构都提供了存储它们的方案:

  • 查找表存储结构:专门存储无逻辑结构的数据;
  • 线性存储结构:专门存储具有“一对一”逻辑结构的数据;
  • 树存储结构:专门存储具有“一对多”逻辑结构的数据;
  • 图存储结构:专门用来存储具有“多对多”关系的数据;

二、数据物理结构

       数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构(也称为存储结构)。一般来说,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储链式存储索引存储哈希存储等。

1. 数据的顺序存储(集中存储)结构的特点是:

       借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;所有数据存储在一整块内存空间中,数据之间紧挨着存放,如下图所示:

2. 非顺序存储(分散存储)的特点是:

       借助指示元素存储地址的指针表示数据元素之间的逻辑关系。各个数据随机存储在内存空间中,如下图所示:

       两种存储结构各有优势,将数据集中存储,方便后续查找数据;将数据分散存储,方便后续增加或者删除数据。数据结构中,用顺序存储结构(顺序表)实现数据的集中存储,用链式存储结构(链表)实现数据的分散存储。有关这两种存储结构,我们会在后续章节中做详细讲解。

三、总结

       关于数据结构,与其说它是一门研究存储数据以及数据之间关系的学科,还可以这样概括:它是一门研究数据存储结构和逻辑结构的学科。通过研究数据的物理结构,可以掌握存储数据的方法;通过研究数据的逻辑结构,可以掌握存储数据之间关系的方法。

       1. 数据的存储结构有 2 种,分别是集中存储和分散存储。如果想集中存储数据,就选择顺序存储结构;如果想分散存储数据,就择链式存储结构。

        顺序存储结构在内存中的地址是连续的,所以存取速度很快,但是在插入或删除操作效率低,因为插入或删除操作会移动数据元素。

       链式存储结构在内存中地址可以是不连续的,插入和删除操作效率高,因为增加了寻址的操作,所以查找和遍历效率低。

       2. 数据的逻辑结构有 4 种,分别是“无关系”、“一对一”、“一对多”和“多对多”。无逻辑关系的数据可以选用查找表存储结构;具有“一对一”关系的数据可以选用线性存储结构;具有“一对多”关系的数据可以选用树存储结构;具有“多对多”关系的数据可以选用图存储结构。

上一篇

1.什么是数据结构_IT小悟的博客-CSDN博客本文介绍数据结构的基本定义,仅仅为了说明在计算机世界,不仅仅有各种计算机编程语言,而且还有在各种编程语言基础上,更加有意义的一门学科数据结构的重要性。https://blog.csdn.net/speedwalkman/article/details/129896183下一篇

3.数据结构到底学什么_IT小悟的博客-CSDN博客本章首先介绍了数据结构中物理结构和逻辑结构的所有组合结构,然后介绍了数据结构中的具体实现和算法的具体内容。程序是数据结构和算法的结合。https://blog.csdn.net/speedwalkman/article/details/129896865

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小悟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值