가 I이 자바 메소드의 반복 화학식구함 : - 오더 이진 트리 출력 방법의 반복 화학식은
void printInorder(Node<T> v) {
if(v != null) {
printInorder(v.getLeft());
System.out.println(v.getData());
printInorder(v.getRight());
}
}
어떤 기준을 검색 잼의 비트에있어 :
- 그 완전한 이진 트리가
- 나무가 노트와 O (N)의 복잡도 N을 가지고
나는 n knots
과 함께 나무의 depth h
과 관련하여 반복 수식을 찾아야하며 추가 보너스로 O (n)에서 오는 공식을 외삽 할 필요가 있습니다.
지금이 내가 가진 것입니다 :
d = depth of the tree
c = constant runtime for execution of the method itself
d = 1: T(n) = c
d = 3: T(n) = T(d=1) + T(d=2) + T(d=3) + c
나는, 내가 어려움이 더이 분해 데 자신을 위해 일을 명확히하기 위해 예를 들어, D = 3을 사용했다. 제 가정은 정확합니까?
편집 : 일
[x] = { x in real numbers : max([x]) <= x }, [x] rounded down to next full number
d = 1: T(d) = 1
d > 1: T(d) = 2^(h-1) * T(n/(2^(h-1)))
1: T(h) = T(i = 0) + T(i = 1) + ... T(i = h-1)
2: T(h) <= (2^(0-1) + n/(2^(0-1))) + (2^(1-1) + n/(2^(1-1))) + ... + (2^(h-2) + n/(2^(h-2)))
3: T(h) = n + n + ... + n
4: T(h) = (h-1)n
5: T(h) = O(n)
트리의 깊이의 모든 수준은 정확히 2^(H-1) 노드가 포함되어 있기 때문에
에서 다음 시도, 4 호선의 시간 계수는 때문에 무시 될 수있다 n은 최종 결과와 더 관련이 있습니다.