import random
import time
def bubblesort(list, N):
for i in range(N-1):
for j in range(N-1-i):
if list[j] <= list[j+1]:
continue
else:
list[j], list[j+1] = list[j+1], list[j]
def selectionsort(list):
for i in range(len(list)):
min_index = i
for j in range(i+1, len(list)):
if list[min_index] > list[j]:
min_index = j
list[i], list[min_index] = list[min_index], list[i]
def insertionsort(list):
for i in range(1, len(list)):
for j in range(i, 0, -1):
if list[j] < list[j - 1]:
list[j], list[j - 1] = list[j - 1], list[j]
else:
break
random.seed(50)
data = [random.randint(1, 1000000) for _ in range(10000)]
start_time = time.time()
bubblesort(data, len(data))
end_time = time.time()
total_time = end_time - start_time
print(f'{total_time:.4f}초')
print(data)
random.seed(50)
data = [random.randint(1, 1000000) for _ in range(10000)]
start_time = time.time()
selectionsort(data)
end_time = time.time()
total_time = end_time - start_time
print(f'{total_time:.4f}초')
print(data)
random.seed(50)
data = [random.randint(1, 1000000) for _ in range(10000)]
start_time = time.time()
insertionsort(data)
end_time = time.time()
total_time = end_time - start_time
print(f'{total_time:.4f}초')
print(data)
결과값
# 1차
4.1660초
1.8248초
2.8128초
# 2차
4.2410초
1.8557초
2.7622초
# 3차
4.2034초
1.8522초
2.8110초
# 4차
4.1582초
1.8763초
2.7562초
# 5차
4.2101초
1.8806초
2.7803초