PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2008/10/18 15:42:20
Name Nocoment
Subject 컴퓨터 알고리즘 시간복잡도 질문입니다.
프로그램 소스상에서 시간복잡도 구하는것은 어렵지 않은것 같은데요
T(n)이 주어지고 이에 대한 시간복잡도를 구하는건 이해를 잘 못해서 질문드립니다.

예를들어서  T(n) = C1 (n=1일경우)
                 T(n) = 2T(n/2) + C2 (n>1일경우)

이렇게 되어 있을 경우에는 계속 2분할이 되니 O(logn)이 되는것으로 예상되는데
이 과정이 뭔지 모르겠더군요.

추가로, T(n) = C1 (n=1일경우)
           T(n) = 2T(2/n) + nC2 (n>1일경우)

이땐, 2분할 되면서 n만큼의 루프를 돈다는 뜻으로 보고 O(n*logn) 이런식으로 했는데
이렇게 되는 과정에 대해서도 궁금합니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/10/18 16:24
수정 아이콘
마스타정리로 푸세효..
MoreThanAir
08/10/18 16:24
수정 아이콘
Time Complexity를 구하는 방법으로는 여러가지가 있습니다.
(1) substitution method : T(n)=2T(n/2)+c2n의 경우 T(n)의 Upper bound를 예측하고 그 값을 식에 넣어서 계산하는 방식입니다.
(2) iteration method : T(n)=2T(n/2)+c2n 를 계속해서 풀어봅니다.
T(n)=2(2T(n/4)+c2(n/2))+c2n
T(n)=2(2(2T(n/8)+c2(n/4))+c2(n/2))+c2n ...
이렇게 해서 T(n) 부분이 상수의 복잡도를 가지는 k를 찾아내고 그 k값을 다른 부분에 대입해서 식을 풀어야 하는데 자세한 과정은 너무 복잡해서 생략합니다.
(3) Master theorem : 위와 같은 일반적인 형태의 재귀적 함수에 적용될 수 있는 방법입니다.
T(n)=AT(n/B)+c2n 의 경우에 logBA와 C의 값을 비교하여
logBA<C T(n)=n^logBA
logBA=C T(n)=n^c*logn^(d+1)
logBA>C T(n)=n^c*logn^d 입니다
c는 뒷쪽 항의 n의 지수이며, d는 뒤쪽 항의 로그n의 지수입니다
T(n)=2T(n/2)+c2n에서는 A=2,B=2,c=1,d=0이므로
logBA=1, c=1
두 값이 같은 경우이므로 T(n)=nlogn이 되겠네요.

자세한 내용은 알고리즘 책을 참고하시는게 좋을듯하네요-
08/10/18 16:32
수정 아이콘
맛스타 정리 어려우시면

T(n) = aT( n / b) + f(n) 에서
h(n) = n ^ logba 라할때,

f(n)과 h(n)을 가지고
f(n) / h(n)에서 n을 무한대로 보낼 때 0이면, 즉 h(n)이 더 무거우면 T(n) = 세타(h(n)) 이구요. (h(n)이 수행시간 결정)
f(n) / h(n)에서 n을 무한대로 보낼 때 무한대이면, 즉 f(n)이 더 무거우면, 충분히 큰 모든 n에 대해 af(n/b) < f(n)이면
T(n) = 세타(f(n)) 이구요. (f(n)이 수행시간 결정)
f(n) / h(n)에서 n을 무한대로 보낼 때 1이면, T(n) = 세타( h(n)logn 이에요.
Nocoment
08/10/18 17:20
수정 아이콘
마스터 정리 이해했습니다. 책은 좀 헷갈리게 써놨네요;;; 답변주신분들 갑사합니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
43717 오늘 우연히 2시만세에서 대한민국 3대밴드를 들었는데 [2] 라르쿠2085 08/10/18 2085
43716 지금 군바리입니다. 군대안에서 영어랑 일본어를 공부할라고하는데 책좀 추천해주세요. [10] ㅇㅇ1905 08/10/18 1905
43715 30대 남성분들은 어떤 노랠 듣나요? 'ㅅ' [13] 양정현1941 08/10/18 1941
43714 알바하다가 돈 떼인다면... [6] 쌈팍1800 08/10/18 1800
43713 정보기기운용기능사 실기 질문드립니다.(급질) [2] 에프마린1545 08/10/18 1545
43711 싸이월드 시사회 지인 양도 가능한가요?? SaladiN1716 08/10/18 1716
43709 일렉기타요.. [1] Xavi1913 08/10/18 1913
43708 영화를 받고 싶은데 추천 부탁드립니다. [10] A_Terran2159 08/10/18 2159
43707 논리학문제 질문 [8] etrrr2295 08/10/18 2295
43706 한라산 등반 때문에 질문드립니다. [5] waver1964 08/10/18 1964
43705 여러분들은 생일 챙기실때.. [8] 레인1897 08/10/18 1897
43704 bagel.gen 이라는 바이러스? 스파이웨어를 아시나요? 리버핸드2158 08/10/18 2158
43703 C++ 임시객체 사용에 관한 질문입니다. 루시리스1935 08/10/18 1935
43702 알바 관련 질문입니다 [8] MoonLight1857 08/10/18 1857
43701 고등학교 법과 사회 부동산 임대차와 환경권 관련 질문입니다. [4] 티티1505 08/10/18 1505
43698 컴퓨터 알고리즘 시간복잡도 질문입니다. [4] Nocoment2191 08/10/18 2191
43697 넥타이 질문. [14] 스프링필드2158 08/10/18 2158
43696 만화좀 찾아주세요~^-^/ [8] 스타나라2227 08/10/18 2227
43695 대학 1학년 미적분 관련 질문... [2] To_heart2058 08/10/18 2058
43694 컴 고수님들 다시한번 질문드립니다 [6] Closer1535 08/10/18 1535
43693 PO 6차전 티켓질문입니다. [2] 200804631949 08/10/18 1949
43692 안녕하세요. 수학문제 하나 질문드립니다. [3] 마트리엘1677 08/10/18 1677
43691 회사 후배의 동생이 고인이 되었습니다. [2] Endor2408 08/10/18 2408
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로