尽管邻接表和邻接矩阵本身是线性的,但它们如何能够逻辑地表示非线性数据结构。有人解释说
发布于 2020-05-14 13:47:16
堆栈、队列、列表、向量/数组:它们都线性地存储数据,即项目是一个接一个地存储的。有“项目A先于项目B”的概念,以及“项目C在项目B之后”的概念。一次之前,一次之后。它们的访问方式不同(FIFO,LIFO,按级别,按位置)。
树(一种图形类型)按层次存储数据。没有真正的前后关系。相反,项是基于父/子关系存储的。然后,我们可以说“A项的父是B",以及”A项的子级是B、C、D和E“。
图存储元素之间的任何类型的关系。项可以与任何其他项相关联,如边缘所表示的。我们可以说“A项是与相关的 to B,C,D,E”和“B项是与相关的 to A和F”。从这个意义上说,它们是非线性的。邻接表和邻接矩阵通过有效地维护这些关系的(线性)列表来实现这一点。
https://stackoverflow.com/questions/61798347
复制相似问题