java - 在 Kruskal 算法的 Java 实现中,我们究竟应该在哪里执行路径压缩?
问题描述
在使用不相交集在 Java 中实现 Kruskal 算法时,我们应该将路径压缩称为单独的函数还是应该是 find() 函数的组成部分?
解决方案
find
每当您在不相交集森林上调用操作时,都应应用路径压缩和其他优化,例如按等级联合。
一种看待这一点的方法:从 Kruskal 算法的角度来看,您只需要能够调用find
并union
让它们正常工作。你不应该担心你如何制作find
和union
正确工作的细节,只要他们这样做。确保一切快速运行是不相交集林的责任,因此调用find
是您将看到压缩发生的地方。
推荐阅读
- angular - 从 Angular 7 配置注入 API_BASE_URL
- php - 如何使用 TCPDF 库在 PDF 上添加自定义字体(Myriad Pro)
- angular - 角度单元测试错误 - 无法读取未定义的属性“订阅”
- php - 在 Woocommerce 单品上同步多个 ajax 添加到购物车按钮
- python - 当我导入`from concurrent.futures import ThreadPoolExecutor`时,它给了我 ImportError。有谁知道为什么?
- python - AttributeError:“工作簿”对象没有属性“写入”
- angular - 即使启用了 gzip 压缩,Nginx 服务器也不会读取 Gzip 文件
- python - 在 Numpy 中应用不带 for 循环的非平凡矩阵计算
- javascript - 如何替换数组中的元素?
- java - 通知意图 - 如何在不重置的情况下恢复通知中的活动?