Bubble Sort
시간복잡도: O(N^2)
n = int(input())
numbers = list()
for _ in range(n):
numbers.append(int(input()))
# Bubble Sort
for i in range(n):
for j in range(n-1):
if numbers[j] > numbers[j+1]:
numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
# for i in range(n):
# for j in range(n):
# if numbers[i] < numbers[j]:
# numbers[i], numbers[j] = numbers[j], numbers[i]
for i in numbers:
print(i)
Selection Sort
시간복잡도: O(N^2)
# Selection Sort
for i in range(n):
min = i
for j in range(i+1, n):
if num[j] < num[min]:
min = j
num[i], num[min] = num[min], num[i]
Insertion Sort
시간복잡도: O(N^2)
# Insertion Sort
for end in range(1, len(num)): # Index 1부터 마지막까지 비교 (1,0 / 2,1,0 / 3,2,1,0 / ...)
for i in range(end, 0, -1): # Index 끝에서부터 왼쪽으로 비교
if num[i-1] > num[i]: # 왼쪽 원소가 더 크면, 자리 바꾸기
num[i-1], num[i] = num[i], num[i-1]
'👩🏻💻 Front-end > 👾 Algorithm' 카테고리의 다른 글
퀵 정렬 Quick Sort (Python) (0) | 2022.05.21 |
---|---|
백준 2751 - 정렬 (Python) (0) | 2022.05.20 |
백준 1018 - 체스판 다시 칠하기 (Python) (0) | 2022.05.18 |
백준 1436 - 영화감독 숌 (Python) (0) | 2022.05.17 |
파이썬 7568 - 덩치 (Python) (0) | 2022.05.17 |