【发布时间】:2015-09-15 14:18:47
【问题描述】:
如果每个节点映射到一组它有边的节点,而不是一个列表,我们将获得对边进行恒定时间查找的能力,而不必遍历整个列表。我能想到的唯一缺点是内存开销和枚举节点边缘的时间稍多,但渐近性并不显着。
【问题讨论】:
-
这不是“恒定时间”,而是“log(集合中的 nb 个元素)”时间! (回答这个问题,如果您使用 std::set,那么与压缩行存储相比,内存开销很大)
-
@BrunoLevy A
HashSet会给你不断的顶点查找。 -
@Carcigenicate 是的,我同意它可以提供持续查找,但不是在一般情况下,需要小心。我认为为任何稀疏模式获得有保证的恒定时间行为是非常困难的(如果不是不可能的话)。
标签: graph adjacency-list