Oh My Algorithm
Algorithm Guidecomplexity: O(n²)

삽입 정렬 (Insertion Sort)

각 요소를 이미 정렬된 부분과 비교하여 적절한 위치에 삽입하는 알고리즘입니다. 데이터가 거의 정렬되어 있을 때 매우 빠른 속도를 자랑합니다.

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
Insertion Sort
45
12
89
34
67
23
56
10

삽입 정렬을 시작합니다. 첫 번째 요소(45)는 이미 정렬된 상태로 간주합니다.

Logic Node1 / 13

02 쉽게 이해하기

For Everyone
🔑비유

카드 패를 손에 들고 새 카드를 알맞은 자리에 끼워넣는 것과 같습니다.

💡쉽게 말하면

앞쪽은 이미 정렬됐다고 보고, 새 값을 적절한 위치에 밀어 넣습니다.

거의 정렬된 데이터에선 매우 빨라요.

📍어디에 쓰나
  • 소량·거의 정렬된 데이터
  • 다른 정렬의 마무리 단계

03 파이썬 구현 코드

삽입 정렬 (Insertion Sort)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
def insertion_sort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i - 1
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j -= 1
        arr[j + 1] = key
    return arr
Guide Progress0%