분할-정복1 (Divide and Conquer) 이진탐색, 병합정렬
분할-정복1 이진탐색 반드시 이미 정렬된 배열에 대해 사용 배열에서 임의의 값을 선택, 찾으려는 값보다 임의의 값이 크면 임의의 값 왼쪽에서 재탐색(재귀). 찾으려는 값보다 임의의 값이 작으면, 임의의 값 오른쪽에서 재탐색(재귀) 시간복잡도 분석 처음에 입력된 개수 n이라 하면 첫 시행 후 n/2, 재시행 후 n/2 x 1/2 … k번의 시행 후에 (1/2)^k x n 이고, 최악의 경우, 마지막에 1개가 남을때이므로 (1/2)^k x n ~= 1 양변에 2^k를 곱해주면, n ~= 2^k이다. 여기서, 양변에 2를 밑으로 하는 로그를 취하면 k = log_2(n), 시간복잡도는 O(logn)으로 나타낼 수 있다. (상수 무시) 합병 정렬(Merge sort) 시간복잡도 배열의 길이 n이라 할때, 단계의 높이는 logn을 따르고, 병합시 비교는 배열의 길이만큼의 횟수가 필요하기 때문에 n이다. 따라서 시간복잡도 O(nlogn)이다. 최악의 경우 및 점화식 분석 분할-정복1 이진…