woojin++
[8월30일] Python 알고리즘 , 버블정렬(Bubble Sort) 본문
이해하게 되면 거품이 물에서 떠오르는 모양처럼 숫자가 정렬이 되서 버블정렬이라고 한다.
알고리즘에서 가장 첫번째로 나오는 알고리즘
알포자: 알고리즘을 포기한 개발자
수포자: 수학 포기한 자들
ㅋㅋ...
1. 이직, 거르는 용도
2. 알고리즘 공부 하면 소스코드가 눈에 잘보임
#버블(거품) 정렬
# 핵심로직 : 첫번째꺼랑 두번째꺼랑 비교해서 두번째께 더 작으면 첫번째꺼랑 자리를 바꾼다.
# n, n + 1 => 권위주의의 상징
numbers = [7,3,2,9]
# first = numbers[0] # 7
# second = numbers[1] # 3
# print(first, second)
# print(first > second) # 7 > 3 = True
# # 1. 자리바꾸기
# temp = first
# first = second
# second = temp
# print(first, second)
# print(numbers)
numbers = [3,7,2,9] # n n +1
# first = numbers[0] # 3
# third = numbers[2] # 2
# print(first, third)
# print(first > third) # 3 > 2 = True
# # 2. 자리 바꾸기
# temp = first
# first = third
# third = temp
# print(first , third) # 2 3
numbers = [2,7,3,9] # n n +2
# first = numbers[0] # 2
# fourth = numbers[3] # 9
# print(first, fourth) # 2 9
# print(first > fourth) # 2 > 9 = false
# 변경 x
numbers = [2,7,3,9] # n n +3
# 비교해서 뒤에께 작았을 때 바꾼다.
numbers = [7, 3, 2, 9]
#0번째와 나머지를 모두 비교를 한다. 한바퀴 => 가장 작은게 0번째에 온다
#1번째와 나머지를 모두 비교를 한다. 두바퀴 => 두번째 작은게 1번째에 온다.
# n 0 ~ 3 / range n + 1
def BubbleSort(arr):
for n in range(len(arr)):
for index in range(n+1, len(arr)):
if arr[n] > arr[index]:
# 자리를 바꿔준다.
temp = arr[n]
arr[n] = arr[index]
arr[index] = temp
return arr
result = BubbleSort(numbers)
print(result)

'Python' 카테고리의 다른 글
| [8월30일] Python 알고리즘, 재귀로 배열에 있는 숫자 더하기 (0) | 2021.08.30 |
|---|---|
| [8월30일] Python 알고리즘 퀵정렬 (0) | 2021.08.30 |
| [8월30일] Python 최대값, 최소값 구하는 알고리즘 (0) | 2021.08.30 |
| [8월30일] Python 짝수, 홀수 인지 판단하기 (0) | 2021.08.30 |