2013-06-13 3 views
1

온라인 코딩 사이트 중 하나의 문제를 해결하는 동안이 문제가 발생했습니다. 주어진 무향 그래프에서 선형 스패닝 트리의 수를 찾는 알고리즘이 있습니까? 예를 들어 스패닝 트리의 각 노드에 자식이 하나 이상 있어야합니다.주어진 무향 그래프에서 선형 스패닝 트리의 수를 계산하십시오.

+2

지금까지 무엇을 찾으셨습니까? 시도 했습니까? –

+0

"선형 스패닝 트리"란 무엇입니까? – templatetypedef

+0

선형 스패닝 트리는 그래프의 모든 노드에서 시작하며 스패닝 트리의 각 노드는 최대 하나의 자식을 갖습니다. 즉 스패닝 트리는 일부 노드로 시작하는 그래프의 노드를 연결하는 선과 같습니다. –

답변

0

나는 하나의 라인 노드의 수를 찾아야한다고 생각한다.

 o 
    /
o-o-o 

그리고 당신은 DFS를 사용할 수있는 등 나무를 찾을 수 : 그래프가 될 것입니다 선형 스패닝 트리의

 o 
    /
o-o-o-o 
    \ \ 
    o-o-o 

그래서 한 경우 하나의 선으로 내 말은.

+0

4 개의 꼭지점이있는 방향이없는 그래프가 1,2,3,4와 같이 1이 2,3,4에 연결되고 2가 3,4에 연결되면 선형 스패닝 트리가 1-2-3이 될 수 있다고 가정합니다 -4 또는 1-4-2-3 또는 1-3-2-4 또는 4-2-3-1 또는 4-2-1-3 –

+0

만약 1-2-3-4가 4가 연결되지 않았습니까? –

+0

답안의 예는 ** 스패닝 ** 트리가 아닙니다 (스패닝 트리에는 모든 노드가 포함되어야합니다). 유일한 선형 스패닝 트리는 다음과 같습니다. 맨 위 노드에서 시작하고 시계 방향으로 가고 왼쪽에서 끝냅니다. 그런 수천의 나무가 있다면 계산하는 데 시간이 걸릴 수 있습니다. 우리는 단지 그러한 나무의 수만 있으면됩니다. 이것에 대한 수학 방정식이 존재할 수 있습니다. – Dukeling

관련 문제