DFS 순회를 사용하는 트리의 최소 정점 커버를 찾기위한 탐욕스러운 알고리즘이 있습니다.
- 트리의 각 잎에 대해 부모를 선택하십시오 (즉, 부모가 최소 정점 덮개에 있음).
- 각 내부 노드에 대해 :
하위가 선택되지 않은 경우이 노드를 선택하십시오.
이 탐욕스러운 전략이 최적의 답변을 제공한다는 것을 어떻게 증명합니까? 위의 알고리즘이 생성하는 것보다 크기가 작은 꼭지점이 없습니다?
두 번째 단계의 논리가 맞지 않다고 생각합니다. 6 개의 노드가 끝까지 내려가는 축퇴 트리를 고려한다면 (깊이에 해당하는 1-6로 레이블을 지정하십시오). 그런 다음 알고리즘의 첫 번째 단계는 것입니다 노드 5. 두 번째 단계를 선택할 것 아마도 첫 번째 노드 (루트) 다음 두 번째 노드 (아이) 또는 제 3 노드를 선택하십시오. 그러나 올바른 솔루션을 위해 노드 2와 노드 5 만 선택하기 때문에 이것은 올바르지 않습니다.
—
miguel.martin
@ miguel.martin 정점 표지에 숫자 2와 5의 정점이 포함되어 있으면 노드 3과 4 사이의 가장자리는 덮지 않습니다.
—
Laschet Jain