차밍이
[알고리즘] 패스트캠퍼스 알고리즘 학습 - 삽입 정렬(Insertion Sort) 본문
반응형
목차
1. 삽입 정렬 방식
- 두 번째 인덱스에서부터 시작하여 데이터를 확인한다.
- 앞에 있는 데이터들과 하나씩 비교하면서 자신의 자리를 찾아나간다.
- 가장 작은 값이면 맨 앞까지 계속 이동한다. 혹은 자기보다 작은 데이터가 앞에 있으면 그 뒤쪽으로 데이터를 삽입한다.
2. 소스 코드
import random
data_list = random.sample(range(100), 10)
print(data_list)
>>>
[24, 62, 17, 81, 74, 55, 92, 93, 82, 53]
랜덤으로 정렬하기 위한 숫자 데이터 리스트를 생성한다.
for i in range(1, len(data_list)):
for j in range(i-1,-1,-1):
if data_list[j] > data_list[j+1]:
data_list[j+1], data_list[j] = data_list[j], data_list[j+1]
print(data_list)
else:
break
>>>
[24, 17, 62, 81, 74, 55, 92, 93, 82, 53]
[17, 24, 62, 81, 74, 55, 92, 93, 82, 53]
[17, 24, 62, 74, 81, 55, 92, 93, 82, 53]
[17, 24, 62, 74, 55, 81, 92, 93, 82, 53]
[17, 24, 62, 55, 74, 81, 92, 93, 82, 53]
[17, 24, 55, 62, 74, 81, 92, 93, 82, 53]
[17, 24, 55, 62, 74, 81, 92, 82, 93, 53]
[17, 24, 55, 62, 74, 81, 82, 92, 93, 53]
[17, 24, 55, 62, 74, 81, 82, 92, 53, 93]
[17, 24, 55, 62, 74, 81, 82, 53, 92, 93]
[17, 24, 55, 62, 74, 81, 53, 82, 92, 93]
[17, 24, 55, 62, 74, 53, 81, 82, 92, 93]
[17, 24, 55, 62, 53, 74, 81, 82, 92, 93]
[17, 24, 55, 53, 62, 74, 81, 82, 92, 93]
[17, 24, 53, 55, 62, 74, 81, 82, 92, 93]
데이터가 하나씩 앞으로 이동하며 정렬되는 과정을 확인할 수 있다.
뒤에서부터 데이터를 비교하며 앞쪽으로 이동하는 모습을 확인할 수 있다.
3. 다른 글
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 자료구조란?
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 스택이란?
반응형
'파이썬 > 알고리즘' 카테고리의 다른 글
[알고리즘] 패스트캠퍼스 알고리즘 학습 - 퀵 정렬(Quick Sort) (0) | 2021.04.07 |
---|---|
[알고리즘] 패스트캠퍼스 알고리즘 학습 - 동적 계획법과 분할 정복 with 피보나치 (0) | 2021.04.06 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 - 선택 정렬(Selection Sort) (0) | 2021.04.03 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 - 버블정렬 (0) | 2021.04.01 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 더블 링크드 리스트(Double Linked List) (0) | 2021.02.09 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 링크드 리스트(Linked List) (0) | 2021.02.08 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 스택이란? (0) | 2021.02.07 |
[알고리즘] 패스트캠퍼스 알고리즘 학습 정리 - 자료구조란? (0) | 2021.02.05 |
관련된 글 보기
Comments