并查集——判断图中是否存在回环

B站视频:详细算法解说

构建一个parent数组,用来存储每个顶点对应的父亲结点,初始全部置为0,数组从1开始存储

rank数组用来表示每个顶点对应的层次数,初始全部置为0;

edge数组用来存储输入时的边

find_root函数用来查询每个顶点对应的根结点:一直查询x_root的父亲结点,直到为0表示找到父亲结点,返回该点

union_root函数用来连接两顶点对应的根结点:如果两顶点对应的根结点相同,则表示形成回环,返回0;

                                                                        否则路径压缩,比较rank[x_root],rank[y_root],谁大将另一个根结点挂在谁下面

                            &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值