RadarURL

조회 수 6697 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
시간 복잡도(알고리즘)
 

0. 들어가기 앞서서
 

자료구조와 알고리즘을 배울때 핵심은 공간과 시간 이용이다.
공간과 시간은 거의 항상 반비례하는 경향이있다.

시간복잡도: 어떤 알고리즘이 얼마나 걸리느냐(CPU사용량)
공간복잡도: 어떤 알고리즘이 메모리를 얼마나 쓰느냐(RAM사용량)



1.시간의 복잡도에 나타나는 수들 (맨날 까먹으니 웬만하면 외우자)


as_1-loudon23.gif



1(constant): 입력자료의 수에 관계 없이 일정한 실행 시간을 갖는 알고리즘


log N: 만약 입력 자료의 수에 따라 실행 시간이 이 log N 의 관계를 만족한다면 N이 증가함에 따라 실행시간이 조금씩 늘어난다. 이 유형은 주로 커다란 문제를 일정한 크기를 갖는 작은 문제로 쪼갤때 나타나는 유형이다.

N(Lonear): 입력 자료의 수에 따라 선형적으로 실행 시간이 걸리는 경우이다. 이는 입력 자료 각각에 일정 정도의 동일한 처리를 할때 나타나는 경우이다.

N logN : 이 유형은 커다란 문제를 독립적인 작은 문제로 쪼개어 각각에 대해 독립적으로 해결하고,나중에 다시 그것들을 하나로 모으는 경우에 나타난다. N이 두배로 늘어나면 실행 시간은 2배보다 약간 더 많이 늘어난다.

N²(quadratic): 이 유형은 이중루프내에서 입력 자료를 처리 하는 경우에 나타난다. N값이 큰값이 되면 실행 시간은 감당하지 못할 정도로 커지게 된다.

N³(Cubic): 이 유형은 앞의 유형과 비슷하게 입력 자료를 삼중 루프내에서 처리하는 경우에 나타난다.

2ⁿ : 입력자료의 수가 늘어남에 따라 급격히 실행 시간이 늘어난다. 이 유형은 흔하지는 않지만 가끔씩 알고리즘을 처음 개발할 떄 보인다.

 



2. 시간의 복잡도란?
 
알고리즘을 구성하는 명령어들이 몇번이나 실행됬는지 센 결과(frequency count)
                      +
각 명령어의 실행시간(execution time) 을 곱한 합계를 의미함!!!
 
그러나 각 명령어의 실행시간은 특정 하드웨어 혹은 프로그래밍 언어에 따라서 그 값이 달라질 수 있기 때문에 알고리즘의 일반적인 시간 복잡도는 명령어의 실제 실행시간을 제외한 명령어의 실행 횟수만을 고려하게 된다.


시간의 복잡도는 크게 세가지로 나눌 수 있다.
최상의 경우, 최악의 경우, 평균 => 이래서 표기법도 3개가 존재하는것이다.

시간과 공간은 반비례 하는 경향이 있다.
요즘은 공간보다는 시간이 우선이다!



3.시간 복잡도 표현법
 
Big O Noration(빅-오 표기법) --- O(N)
가장 많이 쓰이는 표기법으로 알고리즘 실행시간의 상한을 나타낸 표기법(최악의 경우)

Ω(오메가)표기법 --  Ω(N)
오메가 표기법은 알고리즘 실행시간의 하한을 나타낸 표기법 (최상의 경우)

Θ(세타)표기법 --- Θ(N)
세타 표기법은 알고리즘 실행시간의 평균시간을 나타낸 표기법(평균의 경우)



4.시간의 복잡도 계산법
 

명령이 끝날때마다 실행 횟수를 적어봅니다.

ex)

void  Func(int *a, n)

{

     int i=0, j=0;                                       1

     for (i = 0 ; i < n-1 ; i++)                      n      (i =0일때부터 i=n-1일때까지 계속 실행되죠)

         for(j=i+1; j<n ; j++)                        (n-1) * n (가장 많이 수행되는 경우를 생각합니다.)

            if (a[i] == a[j]) a[j] = 0 ;            (n-1) * (n-1)

}
 

명령어 실행횟수를 모두 더하면 2n²-2n+2  ->상수는 생략하고 최고차항만 생각한다. => O(n²)로 표기합니다.

 

ex)

int Func2(int a[], int size, int key)  {

   int i = 0;                                          1

   for (i = 0; i < size; i++)                      size + 1

       if(a[i] == key)                              size

       return i;                                      1

   return -1;                                        1

}

시간복잡도 O(size)
총 실행횟수 : 2size +4  => O(N) 

 

출처 : http://skmagic.tistory.com/entry/%EC%8B%9C%EA%B0%84%EC%9D%98-%EB%B3%B5%EC%9E%A1%EB%8F%84-%EC%B4%9D%EC%A0%95%EB%A6%AC%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 2008285
2616 u-E(활성화) 본식DVD, 웨딩영상 색감이 중요한 이유새 창 열림 new 힘겨운귤35 2026.10.05 1
2615 공지 대전, 인천, 세종 하수구 막힘 문제 해결 방법 new 정열적인코요테90 2026.10.05 4
2614 취미 <문경맥주> 구입 할 수 있는 곳은 새 창 열림 new 타오르는드래곤61 2026.10.05 1
2613 데이터베이스 강남건전지❤️OlO-8655-OO53❤️친절문의환영 #강남건전지 #강남유니콘 #선릉유니콘 #강남건전지위치 #선릉역건전지#대치동유니콘 #강남바커스 #선릉바커스 #선릉역바커스 #강남룸클럽 #선릉룸클럽 #강남베터리 #강남바데리 new 괴랄한재규어89 2026.10.05 1
2612 사무 소프트웨어 용인두피문신 고민? 만족 후기 보려면 new 날카로운꿩11 2026.10.05 5
2611 논문 카­톡 gusim8003 급전/내구제 (24시문의) 폰테크 소액대출 선불폰 가개통 new 타오르는켄타우로스86 2026.10.05 1
2610 윈도우즈 웨딩누브라, 완벽한 드레스 핏을 위한 선택 new 날카로운감시자22 2026.10.05 2
2609 인터넷 성공적인 중고화물차 선택, 현명한 가이드 new 붉은드래곤50 2026.10.05 2
2608 가상화 인천맛집 순위 new 차가운파편97 2026.10.05 2
2607 응용 프로그래밍 완벽한 웨딩드레스 핏의 비밀, 웨딩누브라 new 힘겨운암석76 2026.10.05 2
2606 카메라 파주누수업체, 신속 해결 전문가의 비결 new 차가운에메랄드79 2026.10.05 1
2605 u-E(통합센터) 올해의 핫플 선정 간석동 마블! 010&&8923&&0291 new 교활한감시자99 2026.10.05 1
2604 웹서버,WAS 손목터널증후군 치료, 현명한 선택 기준은? new 괴상한두루미52 2026.10.05 1
2603 u-E(통합센터) 손목터널증후군, 두팔로정형외과에서 해답을 찾다 new 눈부신백마법사86 2026.10.05 2
2602 응용 프로그래밍 골든타워 010 2817 0845 골타문의 편하게 알아보는 셔츠룸 new 속삭이는미노타우르93 2026.10.05 2
2601 u-E(TestBed) 특별한 기념품제작, 판촉물365 광기의태풍18 2026.10.05 1
2600 건강 대전누수 문제, 청년연합누수가 답이다 몽환적인삵34 2026.10.05 2
2599 u-E(법,정책) 양산싱크대막힘, 뚫자하수구에서 한 번에 해결 낙관적인유니콘42 2026.10.05 1
2598 가상화 최근 테헤란로 벤처 밸리의 핵심 리더들 사이에서 ‘클래스가 다른 정통 수질과 프라이빗 무드’로 소문 자자한 '선릉 룸싸롱' 기습 방문, 인공미를 거부하는 무결점 뉴페이스들과 심장을 마비시킨 사심 플러팅에 제대로 저격당하고 온 솔직 후기 희미한홍학99 2026.10.05 4
2597 웹서버,WAS 카­톡 gusim8003 급전/내구제 (24시문의) 선불폰 소액결제 일수 급전대출 황금빛섬광82 2026.10.05 2
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너