我一直在寻找计算否的方法。在线连接的组件。我注意到在大多数站点中,使用的算法是深度优先搜索。我相信你也可以实现广度优先搜索和联合查找。那么为什么人们更喜欢使用 DFS 来查找连接组件的数量呢?

最佳答案

主要是因为两个原因:

  • 简单而简短。不需要数据结构(好吧,我们需要一个堆栈,但递归会解决这个问题)
  • 内存友好,呼吸优先搜索的内存复杂度为 O(V)(V 是节点数)。另一方面,DFS 有 O(h) ( h 是递归树的最大深度)。
  • 关于algorithm - 与其他算法相比,是什么让深度优先搜索成为计算图中连接组件数量的更好解决方案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46630378/

    10-13 08:59