import time
N = int(input('크기를 입력하세요:'))
a = np.random.randint(1000, size=N)
start = time.time()
def insert_sort(data,sort) :
# 오름차순
if sort == 0 :
for i in range(1,len(data)) :
for j in range(i) :
if data[i] < data[j] :
temp = data[i]
data[i] = data[j]
data[j] = temp
# 내림차순
elif sort == 1 :
for i in range(1,len(data)) :
for j in range(i) :
if data[i] > data[j] :
temp = data[i]
data[i] = data[j]
data[j] = temp
return data
print(insert_sort(a,0))
print("time : ",time.time() - start)
###################################################################################
# 버블정렬과의 시간 차이 확인하기
import numpy as np
start = time.time()
def bubble_sort(data) :
loop = 0
while 1 :
count = 0
for i in range(len(data)-1) :
if data[i] > data[i+1] :
temp = 0
temp = data[i]
data[i] = data[i+1]
data[i+1] = temp
else :
count += 1
loop+=1
if count == len(data)-1 :
break
return data , loop
print('정렬후:', bubble_sort(a))
print("time : ",time.time() - start)
# 삽입정렬이 버블정렬보다 훨씬 빠르다
정렬 알고리즘 속도 비교
'코딩 > 문제' 카테고리의 다른 글
문제7. (파이썬) LRU 알고리즘 (0) | 2020.06.10 |
---|---|
문제6. (파이썬) 합병정렬 (0) | 2020.06.05 |
문제4. (파이썬) 버블정렬 (0) | 2020.06.03 |
문제3. (파이썬) 이진탐색 (0) | 2020.06.02 |
문제2. (파이썬) matrix_convolution 구현 (0) | 2020.06.01 |