티스토리 뷰

지금까지의 선형 검색, 이진 검색, 버블 정렬, 선택 정렬의 실행시간은 다음과 같다.

 

 

실행시간의 상한

  • O(n^2): 선택 정렬, 버블 정렬

  • O(n log n)

  • O(n): 선형 검색

  • O(log n): 이진 검색

  • O(1)

 

실행시간의 하한

  • Ω(n^2): 선택 정렬, 버블 정렬

  • Ω(n log n)

  • Ω(n)

  • Ω(log n)

  • Ω(1): 선형 검색, 이진 검색

 

 

 

만약 이미 정렬이 되어 있는 배열이 주어진다면,

아래와 같이 바깥 루프를 '교환이 일어나지 않을 때'까지만 수행하도록 하여

버블 정렬을 좀 더 효율적으로 실행할 수 있을 것이다.

Repeat until no swaps

    For i from 0 to n–2

        If i'th and i+1'th elements out of order

            Swap them

따라서 최종적인 버블 정렬의 하한은 Ω(n)이 된다.

 

 

 

실행시간의 하한

  • Ω(n^2): 선택 정렬

  • Ω(n log n)

  • Ω(n): 버블 정렬

  • Ω(log n)

  • Ω(1): 선형 검색, 이진 검색

 

 

 

 

출처: www.boostcourse.org/cs112

'부스트코스 > 4. 알고리즘' 카테고리의 다른 글

[CS50] 4.8 병합 정렬  (0) 2021.01.30
[CS50] 4.7 재귀  (0) 2021.01.30
[CS50] 4.5 선택 정렬  (0) 2021.01.30
[CS50] 4.4 버블 정렬  (0) 2021.01.30
[CS50] 4.3 선형 검색  (0) 2021.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함