그래프에 새 노드 / 에지를 추가함에 따라 그래프의 상대적으로 균형 잡힌 스패닝 트리를 유지하는 방법을 찾고 있습니다.
단일 노드 "루트"로 시작하는 무 방향 그래프가 있습니다.
각 단계에서 새 노드와 그래프에 연결하는 가장자리 또는 두 개의 이전 노드를 연결하는 새 가장자리를 그래프에 추가합니다. 그래프를 키우면 스패닝 트리가 유지됩니다. 대부분 새 노드와 에지를 추가 할 때 새 노드를 연결하는 기존 노드의 하위 노드로 설정합니다.
새 노드가 추가되는 순서를 제어 할 수 없으므로 위의 트리 작성 알고리즘이 분명히 불균형 스패닝 트리로 이어질 수 있습니다.
스패닝 트리를 "상대적으로 균형 잡힌"상태로 유지하면서 재 트리에서 수행되는 작업량을 최소화하는 온라인 휴리스틱에 대해 아는 사람이 있습니까? 트리 구조를 완전히 제어 할 수 있습니다. 내가 제어하지 않는 것은 그래프 연결 또는 새 노드가 추가되는 순서입니다.
'균형', '스패닝'및 '트리'와 같은 용어에 대한 표준 Google 응답은 이진 트리 및 B- 트리 인 것으로 보입니다. 내 그래프 노드는 이웃을 여러 개 가질 수 있으므로 트리 노드는 이진 트리와 같이 2가 아닌 여러 개의 자식을 가질 수 있습니다. B- 트리는 인접 목록을 변경하여 균형을 유지하며 그래프 연결을 변경할 수 없습니다.