Python 알고리즘

Python 삽입 정렬

손에 든 카드를 순서대로 정리하는 방식과 비슷합니다.

삽입 정렬이란?

손에 든 카드를 순서대로 정리하는 방식과 비슷합니다.

각 요소를 이미 정렬된 영역에 삽입합니다.

언제 사용하나요?

  • 알고리즘과 자료 구조를 이해합니다.
  • 각 단계와 경계 조건을 확인합니다.
  • 실행 시간과 메모리 사용량을 비교합니다.

Python 삽입 정렬 시각화

재생 또는 한 단계를 눌러 비교와 데이터 이동 과정을 확인하세요.

예제 코드

코드 실행 →
main.py
def insertion_sort(values):
    result = values.copy()
    for index in range(1, len(result)):
        current = result[index]
        position = index - 1
        while position >= 0 and result[position] > current:
            result[position + 1] = result[position]
            position -= 1
        result[position + 1] = current
    return result

print(insertion_sort([9, 5, 1, 4, 3]))

예상 출력

[1, 3, 4, 5, 9]

작동 원리

큰 값을 오른쪽으로 옮겨 자리를 만들며 거의 정렬된 데이터에서 효율적입니다.

값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.

연습 문제

입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.

  1. 빈 입력, 한 요소, 중복값을 시험하세요.
  2. 각 단계의 상태를 출력하세요.
  3. 다른 풀이와 성능을 비교하세요.
Python IDE에서 실행 →