Dev/Algorithm

최소 스패닝 트리 find_parent RecursionError

rryu09 2024. 9. 4. 13:22

def find_parent(x):
    if p[x] != x:
        p[x] = find_parent(p[x])
    return p[x]

 

find_parent 에서 재귀가 너무 깊어져서 문제가 생겼다

sys.setrecursionlimit 으로 늘려줄 수 도 있겠지만 

재귀가 아닌 while 을 사용해 부모를 찾아주는 방식으로 변경했다

 

def find_parent(x):
    while p[x] != x:
        p[x] = p[p[x]]
        x = p[x]
    return x

'Dev > Algorithm' 카테고리의 다른 글

두 트리 비교하기  (1) 2024.10.14
친구 네트워크  (3) 2024.10.14
134. Gas Station  (1) 2024.10.08
누적합  (0) 2024.10.07
최대 증가 부분 수열  (0) 2024.08.29