HW#02 : N개의 배열을 이분 검색을 할 때 시스템 스택의 깊이는?HW#02 : N개의 배열을 이분 검색을 할 때 시스템 스택의 깊이는?
Posted at 2011. 3. 21. 18:38 | Posted in Computer Science/알고리즘n개의 Array를 Binary Search(Divide and Conquer Approach)할 때 System Stack Depth는 얼마인가?
예를 들어 생각해 보면, "1, 2, 3, 4, 5, 6, 7, 8, 9"에서 9를 찾는다고 가정해 보자. 각 Step 마다 n/2 만큼 감소하게 된다. 수식으로 표현해보면 Worst Case의 Time Complexity는 w(n) = w(2/n) + 1 이 된다. 이것은 w(n) = w(2/2^2) + 2 가 되고 다음은 w(n) = w(2/2^3) + 3 형태가 된다. n을 2^x 로 놓으면 w(n/2^x) + x 에서 w(n) = w(2^x/2^x) + logn 이 된다. w(2^x / 2^x)는 1이 되고 결국 1 + logn 이 된다. 그래서 System Stack Deapth는 1 + logn 이 된다.
'Computer Science > 알고리즘' 카테고리의 다른 글
HW#06 : Dynamic Programming을 이용한 Binomial Coefficient 문제 해결 (0) | 2011.03.31 |
---|---|
HW#05 : Quick Sort의 구현과 예제의 동작 과정을 보이시오. (0) | 2011.03.24 |
HW#04 : Merge Sort의 구현과 예제의 동작 과정을 보이시오. (0) | 2011.03.21 |
HW#03 : 분할을 두 개로 하는 경우가 많다. 왜 두 개를 사용하는가? (1) | 2011.03.21 |
HW#01 : 피보나치 수열의 값 찾기 문제에 대한 두 가지 접근법에 대한 일반화 (0) | 2011.03.17 |