728x90
반응형
버블정렬이란 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다.
선택 정렬과 기본 개념이 유사하다.
시간 복잡도는 o(n^2)
구현 코드:
# bubble_sort
def bubble_Sort(arr):
n = len(arr) # 배열의 크기
for i in range(n):
# 배열의 총 크기에서 i의 값과 1을 뺀 만큼 반복
for j in range(0, n - i - 1):
# 만약 현재 인덱스의 값이 다음 인덱스의 값보다 클경우 실행
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j] # 서로 위치를 변환
arr = [10,20,40,30,22,64,32,77,24,29]
bubble_Sort(arr)
for i in range(len(arr)):
print("%d " %arr[i],end = "")
n - i - 1 에서 i를 빼준이유는 이미 앞에 한 정렬은 하지 않기 때문이다.
반응형
댓글