数据结构小白系列之数据结构概述

更多文章,欢迎关注微信公众号:深夜程猿


什么是数据结构

数据结构,是数据的组织形式, 包括数据元素自己以及数据元素之间的关系,公式可表示为Data_Structure={D, R},其中D表示数据,R表示关系。 数据结构具备逻辑结构和物理结构

逻辑结构

逻辑结构是数据和数据之间的逻辑关系,实际就是它们之间的位置关系。好比数据A和数据B,数据A和数据B是相邻着存储着,数据A存储在数据B前面。这样数据A数据B的逻辑关系就是相邻的而且A在B前面。(可是实际的存储A和B并不必定是物理连续的,由于相同的逻辑结构能够有不一样的物理结构存储数据)。

数据的逻辑结构分类:node

  • 集合关系:数据结构中的元素都属于同一个数据集合
  • 线性关系:数据结构中的元素存在一对一的相互关系,好比上面说的A元素后面是B元素
  • 树形关系:数据结构中的元素存在一对多关系。好比在数据A前面是数据C,后面是数据B,那么数据A和数据B、C就是一对多的关系
  • 图形关系:数据结构中的元素存在多对多的关系。好比数据A后面是数据B,数据A前面是数据C,数据C前面是数据B,那么数据A、B、C就是多对多关系

下面一张图表示数据的逻辑结构:算法


物理结构

物理结构是数据在真实磁盘空间上的存储方式,是数据的具体存储方式。一个逻辑结构能够有不一样存储方式,也就是一个逻辑结构对应多种物理结构。好比逻辑结构相邻的数据,在物理结构上能够是相邻的(数组存储),也能够是不相邻的(链表存储,经过一种叫作指针的东西链接起来)。下面是百度百科的解释:

“数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。因为具体实现的方法有顺序、连接、索引、散列等多种,因此,一种数据结构(这里是指逻辑结构)可表示成一种或多种存储结构。
编程

数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。一般称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。所以,节点是数据元素的机内表示(或机内映像)。

关系的机内表示(映像方法):数据元素之间的关系的机内表示能够分为顺序映像和非顺序映像,经常使用两种存储结构:顺序存储结构和链式存储结构。顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。”数组

物理结构存储方式:微信

  • 顺序存储
  • 链式存储
  • 索引存储
  • 散列存储

数据结构的分类

数据结构有如下几种分类,不了解的读者只需对名称有个印象便可
  • 集合结构
  • 线性结构:线性表
  • 树形结构:树
  • 图形结构:图

小结

数据结构分为逻辑结构和物理结构,逻辑结构描述的是数据的逻辑关系,好比是相邻的仍是不相邻的。物理结构是数据在计算机系统的具体存储形式。一种逻辑结构能够有不一样的物理结构实现。

在计算机中,数据采起不一样的物理结构存储,须要计算机硬件的支持。数据结构

有一句话说,算法+数据结构=程序。这句话是否夸大咱们不进行讨论,可是数据结构在咱们的程序中起到了很是重要的做用。一个良好的数据结构,可使得咱们的程序更加高效运行,数据存储更加有效。

咱们能够这样理解(但不严谨),算法解释了程序如何运行,何时作什么都已经定义好了,而数据结构规定了程序的数据如何组织。

什么是程序?程序就是咱们使用编程语言编写的源代码文件。
相关文章
相关标签/搜索