빅오 표기법은 알고리즘의 효율성을 표기해주는 표기법이다.
def bubble_sort(arr):
for i in range(len(arr) - 1, 0, -1):
swapped = False
for j in range(i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swapped = True
if not swapped:
break
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(len(array)):
min_index = i # 가장 작은 원소의 인덱스를 담을 변수
for j in range(i+1, len(array)): # for문을 돌면서 가장 작은 원소를 찾아 넣어준다.
if array[min_index] > array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
print(array)
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(1, len(array)): # 맨처음 원소는 정렬되었다고 가정. 1부터 시작한다
for j in range(i, 0, -1): # 인덱스 i부터 1까지 1씩 감소
if array[j] < array[j-1]: # 내가 내 왼쪽보다 작다면 한칸 왼쪽으로 이동
array[j], array[j-1] = array[j-1], array[j]
else:
break
print(array)