数据结构-逻辑结构与物理结构

一般我们按照视点的不同,将数据结构分为【逻辑结构】和【物理结构】

逻辑结构

逻辑结构:是指数据对象中数据元素之间的相互关联

分为以下四种:

  • 集合结构:
    集合结构中的数据元素除了同属于一个集合外,他们之间没有其他关系。各个元素是“平等”的。它们的共同属性“同属于一个集合”。数据结构中的集合关系类似数学中的集合


    image.png
  • 线性结构:
    线性结构:线性结构中的数据元素之间是一对一的关系。


    image.png
  • 树形结构
    树形结构:树形结构中的数据元素之间存在一种一对多的层次关系


    image.png
  • 图形结构:
    图形结构:图形结构的数据元素是多对多的关系


    image.png

在用示意图表示数据的逻辑结构时,要注意两点:
1,将每一个数据元素看做一个结点
2,元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示
从上面可以看出,逻辑结构是针对具体问题的,是为了解决某个问题,在对问题的理解的基础上,选择一个合适数据结构表示数据元素之间的逻辑关系。

物理结构

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

数据是数据元素的集合,那么根据物理结构的定义,实际上就是如何把数据元素存储到计算机的存储器中。存储器主要是针对‘内存’而言的。例如硬盘等外接存储器通常用“文件结构”来描述。

数据的存储结构应正确反映数据元素之间的逻辑关系,这才是最关键的,如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点。

数据元素的存储结构有两种:顺序存储和链式存储,

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

image.png

举例:例如计算机中的数组,当你建立一个数据时,计算机就会在计算机内存中找一片空地,创建一个连续的存储空间,依次放置存储数组中的数据。

2,链式存储结构
链式存储结构:是把数据元素存在任意存储单元里,这组存储单元是可以连续的,也可以是不连续的,数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址。

在实际需求中,顺序存储结构是有局限的,例如医院的排队系统,挂号后总会有过号的,这时间需要重新插入

image.png

总结:逻辑结构是面向问题的,而物理结构就是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机内存中。

你可能感兴趣的:(数据结构-逻辑结构与物理结构)