뭐든지시작이반이다
Dream Future
뭐든지시작이반이다
  • 분류 전체보기
    • Spring
      • 개념
      • 기타
    • Java
    • Algorithm
      • 알고리즘 정리
    • DB
      • Postgresql
    • 트러블슈팅
    • Git & Github
    • V&V
    • EFK
    • 북스터디
    • 기타

인기 글

최근 댓글

전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록

태그

  • lombok
  • Hibernate
  • SqlSessionFactory
  • SelectionSort
  • springboot
  • spring-boot
  • spring
  • git
  • requestmapping
  • dirtyChecking
  • mybatis
  • Controller
  • 파티셔닝
  • JPA
  • multimodule
  • Kibana
  • 알고리즘
  • Kotlin
  • github
  • ambiguous오류
  • 트러블슈팅
  • gradle
  • docker
  • efk
  • gitignore
  • springbot
  • fluentd
  • auditing
  • 대규모서비스
  • sqlSessionTemplate
hELLO · Designed By 정상우.
뭐든지시작이반이다

Dream Future

Algorithm/알고리즘 정리

bubble sort(optimized)

2020. 7. 16. 23:19

최적화된 버블 소트 코드

 

1
2
3
4
5
6
7
8
9
10
11
def bubble_sort(a):  # optimized
    n = len(a)
    for j in range(n):  # 반복용
        checked = False
        for i in range(0, n - 1):  # 처음부터 끝까지 앞뒤 비교하며 자리 바꾸기
            if a[i] > a[i + 1]:
                a[i], a[i + 1] = a[i + 1], a[i]
                checked = True
 
        if checked is False:  # 모두 정렬되었으면 그냥 종료
            break
Colored by Color Scripter
cs

 

버블 소트는 배열 처음부터 끝까지 앞뒤하고만 비교하며 정렬한다.

정렬된 경우는 swap이 일어나지 않기 때문에 bool로 체크해서 그 경우에는 정렬을 종료한다.

 

(평균)시간복잡도: O(n^2)

(최선)시간복잡도: O(n) 

저작자표시 비영리 동일조건 (새창열림)

'Algorithm > 알고리즘 정리' 카테고리의 다른 글

binary search  (0) 2020.07.17
quick sort (기본: 맨 끝을 pivot으로)  (0) 2020.07.16
merge sort  (0) 2020.07.13
insertion sort 이해해보기  (0) 2020.07.13
selection sort  (0) 2020.07.13
    'Algorithm/알고리즘 정리' 카테고리의 다른 글
    • binary search
    • quick sort (기본: 맨 끝을 pivot으로)
    • merge sort
    • insertion sort 이해해보기
    뭐든지시작이반이다
    뭐든지시작이반이다
    기록장입니다.

    티스토리툴바