더북(TheBook)

코드로 확인합시다.

코드 13-4

def collapsing_find(self, i):
        root = trail = lead = None
        # 루트를 찾습니다.
        root = i
        while self.parent[root] >= 0:
            root = self.parent[root]

        # 모든 노드를 루트의 자식으로 만듭니다.
        trail = i
        while trail != root:
            lead = self.parent[trail]
            self.parent[trail] = root
            trail = lead

        return root

코드 13-4는 collapsing_find를 구현한 것입니다. i 노드의 루트 노드를 찾은 후 leadtrail로 따라 올라가면서 모든 노드를 루트 노드의 자식 노드로 만듭니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.