邻接表和邻接矩阵如何逻辑上呈现非线性数据结构,即使它们本身是线性的。有人请解释
堆栈,队列,列表,向量/数组:它们都线性存储数据,就意味着项是一个接一个地存储。有“项目A在项目B之前”和“项目C在项目B之后”的概念。前一个,后一个。它们仅在可访问项目的方式上有所不同(FIFO,LIFO,按等级,按位置)。
树(一种图形)分层存储数据。确实没有前后关系。而是根据父/子关系存储项目。然后,我们可以说“项目A的父代是B”,而“项目A的子代是B,C,D和E”。
图存储元素之间的任何类型的关系。一个项目可以与任何其他项目相关,如边缘所示。我们可以说“项目A与B,C,D,E有关”,“项目B与A和F有关”。从这个意义上说,它们是非线性的。邻接表和邻接矩阵通过有效地维护这些关系的(线性)列表来实现此目的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句