[알고리즘1] 정렬 알고리즘_버블정렬

윤정민·2023년 6월 3일
0

Algorithm

목록 보기
22/37

버블정렬

  • 이웃하는 숫자를 비교하여 작은 수를 앞으로 이동시키는 과정을 반복하여 정렬
  • 작은 수는 배열의 앞부분으로 이동하는데, 배열을 좌우가 아니라 상하로 그려보면 정렬하는 과정에서 작은 수가 마치 거품처럼 위로 올라가는 것을 연상케함

1. 버블 정렬의 수행과정 예제

  • 패스(pass): 입력된 배열의 전체 요소를 1번 처리하는 것
  • 1패스
  • 2패스
  • 3패스

2. 알고리즘

for pass = 1 to n-1
  for i=1 to n-pass
    if A[i-1] > A[i]
      sweep(A[i-1], A[i])

3. 시간복잡도

  • for문: (n-1)+(n-2)+(n-3)+(n-4)+...+1 = n(n-1)/2
  • for문 내: O(1)
  • 최종결과: O(n^2)
profile
그냥 하자

0개의 댓글