다음 질문이 있지만 이에 대한 답변이 없습니다. 내 방법이 올바른지 감사하겠습니다.
Q. 이진 검색 트리에서 키 값 60을 검색 할 때 키 값 10, 20, 40, 50, 70, 80, 90을 포함하는 노드는 반드시 주어진 순서대로 진행되지 않습니다. 값 60이 포함 된 루트 노드의 검색 경로에서 이러한 키 값이 발생할 수있는 순서는 몇 개입니까?
(A) 35 (B) 64 (C) 128 (D) 5040
질문에서, 나는 주어진 모든 노드가 순회에 포함되어야하며 궁극적으로 우리는 키 60에 도달해야한다는 것을 이해합니다. 예를 들어, 그러한 조합 중 하나는 다음과 같습니다.
10, 20, 40, 50, 90, 80, 70, 60.
위에서 주어진 모든 노드를 통과해야하므로 10 또는 90으로 시작해야합니다. 20으로 시작하면 10에 도달하지 않습니다 (60> 20부터 오른쪽 하위 트리 20을 통과 함).
마찬가지로 80으로 시작할 수 없습니다. 80> 60이므로 80의 왼쪽 하위 트리를 가로 지르므로 90에 도달하지 않기 때문에 80으로 시작할 수 없습니다.
나머지 노드는 20, 40, 50, 70, 80, 90입니다. 다음 노드는 20 또는 90 일 수 있습니다. 앞에서 언급 한 동일한 이유로 다른 노드를 사용할 수 없습니다.
우리가 비슷하게 생각한다면, 각 수준에서 두 가지 선택이 있습니다. 7 개의 노드가 있기 때문에 처음 6 개에 대한 2 가지 선택과 마지막 하나에 대한 선택은 없습니다. 그래서 완전히있다
2 6 64 순열 = =
이것이 정답입니까?
그렇지 않다면 더 좋은 방법은 무엇입니까?
일반화하고 싶습니다. 노드가 제공 되면 총 가능한 검색 경로는2 n - 1