联合查找算法不适用于查找连接组件的数量HackerEarth

问题描述

我尝试实现联合查找算法来查找图中的连通分量的数量。
问题链接 - https://www.hackerearth.com/problem/algorithm/connected-components-in-a-graph/
python中的问题代码 -

def cc(n,edges):
    length=len(edges)
    l=[-1]*(n+1)
    rank=[0]*(n+1)
    for i in range(length):
        a=edges[i][0]
        b=edges[i][1]
        union(a,b,rank,l)
    count=0
    for i in range(1,n+1):
        if l[i]==-1:
            count+=1
    print(count)
def union(a,l):
    fromp=find(a,l)
    top=find(b,l)
    if rank[fromp]>rank[top]:
        l[top]=fromp
    elif rank[top]>rank[fromp]:
        l[fromp]=top
    else:
        l[fromp]=top
        rank[top]+=1
def find(a,l):
    if l[a]==-1:
        return a
    par=find(l[a],l)
    l[a]=par
    return par
n,e=map(int,input().split())
edges=[]
for _ in range(e):
    edges.append(list(map(int,input().split())))
cc(n,edges)

代码不起作用,并且给出了错误的答案,甚至为一个测试用例提供了运行时错误。有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...