Page 15 -
P. 15

지 만,  연 산  수 를  알 고 리 즘 의  실 행  시 간 (r u n ni n g ti m e)이 라 고  한 다.  시 간  단 위 를  사 용 하 는  것 은  특 정
                   컴 퓨 터  모 델 과  관 계 된  실 행  시 간  추 정 일  수  있 으 므 로  유 용 하 지  않 다 고  본 다.

                   기 간  n   동 안 의  주 가  스 팬 을  구 하 는  데  걸 리 는  시 간 을  살 펴 보 자.  알 고 리 즘 은 2 행 에 서  시 작 하 여  주
                   가 (q u ot e )마 다  한  번 씩  n 번 을  수 행 하 는  루 프 로  구 성 된 다.  그 리 고  이  외 부  루 프 가  반 복 될  때 마 다  각

                   주 가  스 팬 을  찾 는  내 부  루 프 가  있 다.  각  주 가 에  대 해  이 전  모 든  주 가 와  해 당  주 가 를  비 교 하 는 데,
                   최 악 의  경 우  해 당  주 가 가  최 고 가 라 면  이 전  모 든  주 가 를  조 사 하 게  된 다.  주 가  k 가  이 전  모 든  주 가
                   가 운 데  가 장  높 다 면  내 부  루 프 는  k 번  실 행 된 다.  따 라 서  최 악 의  경 우,  주 가 가  오 름 차 순 으 로  되 어
                   있 다 면  7 행 은  다 음  횟 수 만 큼  실 행 된 다.

                                                             n    n (  1   )
                                                2
                                            1               n
                                                                2
                   이  식 은  숫 자  1 , 2 ,  … , n 을  다 음 과  같 이  두  번  더 해  보 면  쉽 게  이 해 할  수  있 다.
                                                       ...
                                                1     +     2      +  +     n
                                          +    n     +  n  -  1  +   ...  +     1
                                            n  +  1  +  n  +  1  +   ...  +  n  +  1  =  n (n  +  1)

                   6 행 은  알 고 리 즘 이  대 부 분  시 간  동 안  실 행 하 는  연 산 이 므 로 ( n (n   + 1 ))/2 은  최 악 의  경 우 일  때  알 고
                   리 즘 의  실 행  시 간 이  된 다.

                   알 고 리 즘 의  실 행  시 간 을  이 야 기 할  때  실 제  관 심 은  입 력  데 이 터  n 이  클  때 의  실 행  시 간 이 다.  즉,
                   입 력    데 이 터 가    무 한 히    증 가 할    때    알 고 리 즘 이    어 떻 게    작 동 하 는 가 를    다 루 는  점 근 적   실 행   시 간
                   (as y m pt oti c   r u n ni n g  ti m e)이    실 제    관 심    대 상 이 다.    알 고 리 즘 의    점 근 적    실 행    시 간 은    특 별 한    표 기 법
                   을  사 용 하 여  표 현 한 다.  어 떤  양 의  초 깃 값 보 다  큰  모 든  n 에  대 해  임 의 의  함 수  f(n ) 이  또  다 른  함 수

                   g (n ) 을  양 의  상 수 c 로  스 케 일 링 한  c g (n ) 보 다  작 거 나  같 을  때 O (  f(n ))  = g (n ) 이 라 고  한 다.  좀  더  정
                                                                        가  있 으 면  O (  f(n ))  = g (n ) 이
                   확 히  말 해,  모 든  n   ≥ n 0  에  대 해  0   ≤ f(n )  ≤ c g (n ) 인  양 의  상 수 c 와  n 0
                   라 고  한 다.

                   여 기 서  O (f(n )) 을  빅 오  표 기 법(bi g  O  n ot ati o n )이 라 고  부 르 는 데,  아 주  큰  입 력  값 이  알 고 리 즘 의  성
                   능  차 이 를  측 정 할  수  있 는  핵 심 이  되 기  때 문 에  입 력  데 이 터  중 에 서  큰  값 이  관 심  대 상 이  된 다.  그
                                                       2
                                                  (n )  = n 이 라 는  두  함 수 가  있 다.  그 림 에 서  n   값 이  작 을  때
                   림  1 -2 를  보 면  f 1  (n )  = 2 0 n   + 1 0 0 0 과  f 2
                                                                 2
                       (n ) 이  크 지 만,  초 반  이 후 로  상 황 이  급 격 하 게  변 화 하 며 n 이  아 주  빠 르 게  증 가 하 는  것 을  볼  수
                   는  f 1
                   있 다.







             0 2 6




         리 얼 월 드  알 고 리 즘( 본 문) 최 종.i n d d    2 6                                               2 0 1 9 - 0 8 - 1 2    오 후  4: 2 7: 0 9
   10   11   12   13   14   15   16   17   18   19   20