나는 가장자리가 있고 그것으로 나무를 만들고 싶다.가장자리에서 나무를 만들다
문제는 가장자리가 특정 순서 인 경우에만 트리 구조를 구성 할 수 있다는 것입니다. 주문 예 :
(vertex, parent_vertex)
good: bad:
(0, ) <-top (3, 2)
(1, 0) (1, 0)
(2, 1) (3, 2)
(3, 2) (0, ) <-top
은 그때 내가 노드를 구성하고 삽입, 가장자리를 던져 그것을 만든 트리의 부모 찾기 위해 노력하고 현재의 정점을 위해 반복.
result tree:
0 - 1 - 2 - 3
새롭게 추가 된 버텍스에는 항상 트리에 부모가 있어야합니다. 질문은 입력 가장자리를 정렬하는 방법입니다. 음성은 위상 적 정렬에 대해 알려주지 만 꼭지점을 나타냅니다. 그것을 바로 정렬 할 수 있습니까?
토폴로지 정렬에 어떤 문제가 있습니까? 꼭지점을 정렬하면 목록이 정확합니다. – Beta
가장자리가 있으면 트리가 있습니다. 당신이 빠져있는 것만이 정점이 루트라는 지식입니다. 루트를 찾고 (임의의 모서리를 선택하고 부모를 따라 가기 시작하면), 나는 당신이 찾고있는 것이 트리의 선주문 순회 (pre-order traversal)라고 생각한다. – chepner
@Beta, 네, 작동하는 것 같습니다 – mirt