数据结构的分类是分为逻辑结构和物理结构两方面,前面我们已经介绍过了逻辑结构,现在我们再来看一下逻辑结构的几种类型,如图1所示:

3-数据的逻辑结构
图1-数据的逻辑结构

  我们从上可以发现:上面这三种逻辑结构之间的节点与节点之间的关系是不一样的,对于线性结构来说,节点之间的关系是一对一的;树形结构的节点是一对多;图形结构的节点是多对多的关系。

  1. 线性结构:开始节点和终端节点都是唯一的,我们可以把第一个节点认为是开始节点,第四个节点认为是终端节点。除了开始节点和终端节点以外,其余节点都有且仅有一个前驱节点,有且仅有一个后继节点。对于第二个节点来说,它的前驱节点就是第一个节点,它的后继节点是第三个节点。

  2. 树形结构:开始节点唯一,终端节点不唯一,开始节点就是指的根节点,终端节点就是指的最下面的节点。除终端节点以外,每个节点有一个或多个后继节点,在根节点的左节点中有三个后继节点,右节点有两个后继节点,除开始节点外(根节点没有前驱节点),每个节点有且仅有一个前驱节点。

  3. 图形结构:没有开始节点和终端节点,所有节点都可能有多个前驱节点和多个后继节点,也就是说形成了一个多对多的图形结构,我们在图形结构中也看到了,节点之间是相互连接的。



下面这张图是数据逻辑结构的层次组织关系如图2所示:

3-数据的逻辑结构
图2-数据逻辑结构层次关系

  数据逻辑结构主要分为线性结构和非线性结构,在非线性结构中又包括了之前讲过的树和图两种结构,在树结构中又分为一般树和二叉树,图结构又分为有向图和无向图;在线性结构中包括了一般的线性表,受限线性表,线性表推广等,在受线性表中分为栈和队列。因此我们应该根据数据逻辑结构把所有的数据结构中的内容通过上图的方式组织起来,起码做到对这张图有个印象,这将会直到我们后面的学习。

  另外,我们在学习掌握数据的逻辑结构时,还应该掌握逻辑结构的二元组表示方法。对于线性结构,树形结构,图形结构都可以通过这种二元组来表示,在下一篇中我们将学习逻辑结构的二元组表示方法。

相关文章: