x1
및 x2
의 두 값이 있다고 가정합니다.반복되는 값이없는 k-ary 트리를 만듭니다.
단일 루트가 주어지면 k-ary 트리를 사용하여 x1
과 x2
의 모든 조합을 만드는 방법은 무엇입니까?
예 : 레벨 #1
에서
#0 root
/ \
#1 x1 x2
|
#2 x2
내가 초기 요소 x1
및 x2
있습니다.
레벨 #2
에서 나는 조합 x1x2
을, x2
을 가지고 있지만 그것은 가 조합 반복 될 것이기 때문에 x1
이없는 (요소가 여기에 주문에 대해 x2x1
을, 우리는 상관하지 않습니다).
내가 두 개 이상의 요소를 가지고 있다면 레벨이 요소의 수에서 1을 뺀
이미 초기 #1
수준을 구축 동일 할 때까지 나무에 계속 것입니다. 반복 조합을 사용하지 않고 트리를 계속 생성하려면 어떻게해야합니까? 다시 말해, 을 확인하는 방법은 주어진 요소를 트리에 배치해야합니다. 가장 효과적인 방법입니다. 거기에 몇 가지 잘 알려진 알고리즘이 무엇입니까?
추가 정보 : PHP
수행하려는 작업은 무엇입니까? 순서와 상관없이 요소 세트의 모든 조합을 나열 하시겠습니까? K-ary tree를 정말로 사용해야합니까? – justhalf
@justhalf 예, 순서에 관계없이 요소 집합의 모든 조합을 나열합니다. 나는 나무를 사용할 필요가 없지만, 그것은 내 마음에 온 것이 처음이다. – Luiz
그러면 나는 그 질문을 대신해야한다고 생각합니다. 나는 나무가 이것에 대한 좋은 해결책이 아닐 수도 있다고 생각합니다. 일반적인 해결책은 다음과 같은 재귀를 사용하는 것입니다. https://stackoverflow.com/questions/31695772/generating-k-combinations-exicographic – justhalf