相关疑难解决方法(0)

如何创建C++ Boost无向图并以深度优先搜索(DFS)顺序遍历它?

如何创建C++ Boost无向图并以深度优先搜索(DFS)顺序遍历它?

c++ boost-graph

29
推荐指数
1
解决办法
1万
查看次数

为什么Graph adjacency不定义为邻接集,而是邻接表?

在图论中,我们知道可以使用邻接表数据结构表示顶点邻接。相反,邻接集在图论的任何地方都没有被广泛提及。为什么呢?

这是优点,我能想到。

  1. 作为 Set 属性,图可以在重复边和Set 的许多其他属性方面提供保证。而且从所有设置操作集理论面世哪个更直观与分析工作。如:

    • vertex_set_A | vertex_setB 是联合操作。
    • vertex_set_A & vertex_set_B, 是相交运算。
  2. *观点,Set 更容易理解,因为它在数学证明中具有相关性。它还为低级代码如何处理数组和东西提供了一个很好的抽象。

  3. 在性能方面,可以使用 HashSet 实现,这将提供恒定时间操作。或者 TreeSet 当图形需要在日志时间操作上频繁动态更改时。
  4. 列表数据结构还维护元素的排序属性,这在大多数图中没有用处。事实上,列表以有序的方式迭代,这首先不应该发生。Indexed Ordered 应该无关紧要,Set 可以提供。排序重要的唯一时间是图形加权时,因此基于权重的排序,其中 TreeSet 主要在日志时间操作中运行。

所以,我不确定为什么大多数图算法只提到邻接表。是不是因为技术壁垒,Set更难实现,而List更容易?

algorithm graph list set

6
推荐指数
1
解决办法
1224
查看次数

哪种图算法更喜欢邻接矩阵,为什么?

我听说大多数图算法(但不是全部)都使用邻接表。我只是想知道什么算法更喜欢邻接矩阵,为什么?

\n

到目前为止,我\xe2\x80\x99ve发现Floyd Warshall使用邻接矩阵。

\n

graph adjacency-list adjacency-matrix data-structures

5
推荐指数
1
解决办法
2212
查看次数