algorithm - Kruskal 的 MST:使用 Union-Find DS 的联合操作:保证在具有最小边权重的节点之间进行连接
问题描述
在最小生成树中,我们需要在移动到其他边之前连接具有最小权重的边。为了执行连接,我们使用了 UF DS 的联合操作,它连接了不相交数据集的代表元素。是否可以保证代表元素将是我们打算加入的边权重最小的节点?如果我认为这是正确的,那么连接很可能发生在要连接的组件的其他节点上。
谢谢
解决方案
不,没有这样的保证。幸运的是,Kruskal's 使用不相交集数据结构来保持到目前为止扫描的边缘的连通性,并且代表对于这个目的并不重要。如果您最终想要树结构,则需要做一些不同的事情(在边集上进行 DFS,为不相交集数据结构子创建一个动态树,以便您可以连接实际的端点,请改用 Prim 的)。
推荐阅读
- nativescript - Nativescript-Vue 超时后关闭模式
- javascript - 克隆表的行
- python - 尝试拟合模型 XgBoost 时元组索引超出范围
- amazon-web-services - 从 Lambda 中检索 SQS 消息内容
- python - 检查数据框中的 ID 是否存在于另一个数据框中的最快方法
- python - 如何从 2019 年 1 月 9 日格式的 excel 中解析日期并使用 python 将其转换为 yyyy-mm-dd 格式
- visual-studio-code - 覆盖语言设置
- python - Networkx最短路径与边缘条件 - python
- reactjs - react-bootstrap 如何使用自定义表单控件组件
- javascript - 谁能解释为什么下面的代码打印 5?