【发布时间】:2019-01-03 10:59:56
【问题描述】:
我知道邻接表是一种用于表示图形的常用数据结构,它使用链表数组。我正在为 C 中的简单搜索引擎实现倒排索引,并打算使用邻接列表。然而,我发现使用邻接表的一个缺点是,如果你不知道倒排索引中有多少单词,你必须假设索引中有任意大量的单词(数组元素)以创建邻接列表。这可能会导致使用过多的内存。这不是一个大问题,但我想知道是否有更好的方法来实现它。
我在想这个问题的一个解决方案是创建一个链表的链表来代替我的倒排索引。我还没有看到很多链表图形表示的链表示例,所以我假设它不是常用的或传统的表示。我想知道通常使用链表的链表来表示图形是否合适?还是坚持使用邻接列表更好?任何见解都将不胜感激。
【问题讨论】:
-
在上层使用数组(或 mash-map)允许您在 O(1) 中访问图形的节点 - 如果您使用链接列表不是访问邻接O(v) 的特定节点列表?
标签: c data-structures graph adjacency-list