简单概括什么是线性结构和非线性结构

首先介绍一下线性结构

线性,我们可以理解为,相关性,即数据之间是相关的。说的官方一点就是数据元素之间存在一对一的线性关系。

数据元素之间不一定是物理地址上的连续才是相关的,线性的,主要看我们如何利用,所以,线性结构的存储可以分为

顺序存储链式存储

看下图:

简单概括什么是线性结构和非线性结构_第1张图片

看第一个框,其中的数据元素在物理地址上是连续存放的我们可以称它为顺序存储。这个线性表称为,顺序表

看第三个框,其中的数据元素在物理地址上不是连续存放的,而我们利用的它其中的时候可以看成用一条链串起来。所以,我们可以把它称为链式存储。这个线性表称为,链表。

线性结构常见的有:数组,队列,链表和栈。

最后再来看一下非线性结构:

非线性结构中各个数据元素不再保持在一个线性序列中

常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等)

这里需要注意一下,多维数组由多个一维数组组成,比如我们把二维数组看成一个面,我们认为,这个面上的每个数据所对应的前后数据没有前驱后继的关系,前驱后继指的是,其中的某一个数据前一个数据和后一个数据都是有关系的,而多维数组没有这种关系。所以二维数组及多维数组是非线性的,

 

你可能感兴趣的:(数据结构,java)