kruscal用数组代替并查集可以吗? 财富值84

2016-11-02 14:56发布

用一个bool join[max_n]数组保存点是否已经有边连接,在遍历边时,如果边两端的点x和y的join[x]和join[y]都等于1,则说明这两个点都有边连接他们了,则不考虑这条边。这样可以吗?

1条回答
mishen - whatsns产品经理
1楼 · 2016-11-02 15:06.采纳回答

两个节点 join 为 1 并不能说明两个点在同一个联通块的。也就是说可能两个点在不同联通块内而都有别边连接,那么这条边会合并两个联通块。所以还是并查集吧。
当然有一种叫做 link-cut-tree 的数据结构也可以轻松维护最小生成树,本质也是维护联通块的连通性。

一周热门 更多>