깡뇽

[Algorithm] 알고리즘의 분석 본문

Algorithm

[Algorithm] 알고리즘의 분석

깡뇽 2020. 7. 11. 12:31
반응형

- 시간복잡도 : 실행시간은 하드웨어, 운영체제 등과 같은 실행환경에 따라 달리질 수 있기 때문에 실행 시간을 측정하는 대신 연산의 실행 횟수를 측정함. 연산의 실행 횟수는 입력 데이터의 크기에 관한 함수로 표현 가능.

 

- 점근적 분석 : 데이터의 개수 n→∞일때 수행시간이 증가하는 growth rate로 시간복잡도를 표현 하는 기법. 상대적으로 가장 간단하며 알고리즘의 실행환경에 비의존적이기 때문에 광범위하게 사용될 뿐임.

 

- 이진검색 : 정렬된 데이터의 중간값을 비교해 나가는 방식이기 때문에 한 번 비교할 때마다 남아있는 데이터가 절반으로 줄어듬. 즉, 시간복잡도는 O(log2n)임.

=> 순차검색의 시간복잡도는 O(n)이고 이진검색은 O(log2n)이며 둘의 차이는 매우 큼. 

 

버블 정렬

삽입 정렬

퀵소트 알고리즘 : 최악의 경우 O(n2), 평균 시간복잡도는 O(nlog2n) 

합병 정렬 : 최악의 경우 O(nlog2n)의 시간복잡도를 가짐

힙 정렬 : 최악의 경우 O(nlog2n)의 시간복잡도를 가짐

 

 

반응형

'Algorithm' 카테고리의 다른 글

[Algorithm] 순환 ⑤  (2) 2020.07.14
[Algorithm] 순환 ④  (2) 2020.07.13
[Algorithm] 순환 ③  (0) 2020.07.12
[Algorithm] 순환 ②  (0) 2020.07.11
[Algorithm] 순환 ①  (1) 2020.07.11