-
패스트 캠퍼스 챌린지 28일차 - 알고리즘 버블정렬 #2카테고리 없음 2021. 10. 3. 21:23
목차
- 버블정렬 구현 단계
1.버블정렬 구현 단계
- 데이터가 네 개 일때 (데이터 갯수에 따라 복잡도가 떨어지는 것은 아니므로, 네 개로 바로 로직을 이해해보자.)
- 예: data_list = [1, 9, 3, 2]
- 1차 로직 적용
- 1 와 9 비교, 자리바꿈없음 [1, 9, 3, 2]
- 9 와 3 비교, 자리바꿈 [1, 3, 9, 2]
- 9 와 2 비교, 자리바꿈 [1, 3, 2, 9]
- 2차 로직 적용
- 1 와 3 비교, 자리바꿈없음 [1, 3, 2, 9]
- 3 과 2 비교, 자리바꿈 [1, 2, 3, 9]
- 3 와 9 비교, 자리바꿈없음 [1, 2, 3, 9]
- 3차 로직 적용
- 1 과 2 비교, 자리바꿈없음 [1, 2, 3, 9]
- 2 과 3 비교, 자리바꿈없음 [1, 2, 3, 9]
- 3 과 9 비교, 자리바꿈없음 [1, 2, 3, 9]
- 1차 로직 적용
- 예: data_list = [1, 9, 3, 2]
- n개의 리스트가 있는 경우 최대 n-1번의 로직을 적용한다.
- 로직을 1번 적용할 때마다 가장 큰 숫자가 뒤에서부터 1개씩 결정된다.
- 로직이 경우에 따라 일찍 끝날 수도 있다. 따라서 로직을 적용할 때 한 번도 데이터가 교환된 적이 없다면 이미 정렬된 상태이므로 더 이상 로직을 반복 적용할 필요가 없다.