algorithm - 根据特定条件创建图表

标签 algorithm depth-first-search breadth-first-search minimum-spanning-tree

我有一个问题要求我制作一个图,使得图中的 BFS 和 DFS 树不是最小生成树并且邻接列表的顺序无关紧要,我知道 BFS DFS 和 MST 的属性但我对这个问题感到困惑。我应该如何解决这个问题? (不是寻找解决方案)

最佳答案

想象一个包含 k 个顶点的完整图。对于 k > 3DFS 树看起来总是与 BFS 树不同。对于k > 4,您可以拥有一个不同于BFSDFS 树的MST。您可以选择 MST 的形状,使其不同于 DFS 树,方法是确保一个顶点需要三个边。您可以选择 MST 的形状,使其不同于 BFS 树,方法是确保没有顶点有超过三个边。您可以通过分配权重来选择 MST 的形状,使您选择的边成为 MST 的一部分。

DFS Tree

1-----2----3
           |
           |
     4-----5

BFS Tree

      1
  ____|____
 /   / \   \
2   3   4   5

MST

2
|
1---3---5
|
4

五个顶点的完整图有 5 * 4/2 = 10 条边,任何树只需要其中的 4 条边。

关于algorithm - 根据特定条件创建图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269296/

相关文章:

java - 欧拉路径 DFS 实现

java - 广度优先搜索加权有向图

java - 处理广度优先搜索中的重复节点

java - 如何使用广度优先搜索找到迷宫中的最短路径?

algorithm - 如何最大化嵌套容器?

python - 动态规划 - 4 键键盘

algorithm - 模拟自然铅笔需要画线算法

algorithm - 查找数组中每个大小为 k 的窗口的最大值

python - 如何使用 python 中的门和键从这个迷宫算法中获取路径?

python - 使用 DFS 或 Greedy BFS 解决解决方案搜索?