학습 안내
각 정렬 알고리즘의 핵심 절차와 전체 시각화 이미지를 함께 배치했습니다. 위 메뉴를 누르면 원하는 알고리즘으로 바로 이동합니다.
01 · Bubble Sort
버블정렬 알고리즘 시각화
시간 복잡도 O(n²)
핵심 절차
- 1앞에서부터 인접한 두 값을 비교한다.
- 2왼쪽 값이 더 크면 두 값을 교환한다.
- 3한 회전이 끝나면 가장 큰 값이 오른쪽 끝에 놓인다.
- 4정렬된 끝부분을 제외하고 반복한다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
02 · Selection Sort
선택정렬 알고리즘 시각화
시간 복잡도 O(n²)
핵심 절차
- 1현재 위치 i를 정한다.
- 2i 이후의 미정렬 영역에서 최솟값 위치를 찾는다.
- 3현재 위치의 값과 최솟값을 교환한다.
- 4정렬된 영역을 한 칸 확장한다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
03 · Insertion Sort
삽입정렬 알고리즘 시각화
시간 복잡도 평균 O(n²), 거의 정렬 O(n)
핵심 절차
- 1두 번째 원소부터 key로 잡는다.
- 2key 왼쪽의 정렬된 영역과 비교한다.
- 3key보다 큰 값은 오른쪽으로 한 칸 이동한다.
- 4빈 자리에 key를 삽입한다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
04 · Merge Sort
병합정렬 알고리즘 시각화
시간 복잡도 O(n log n)
핵심 절차
- 1배열을 반으로 나눈다.
- 2각 부분 배열을 다시 반으로 나누어 길이가 1이 될 때까지 반복한다.
- 3작은 값부터 비교하며 두 배열을 병합한다.
- 4모든 병합이 끝나면 전체 배열이 정렬된다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
05 · Quick Sort
퀵정렬 알고리즘 시각화
시간 복잡도 평균 O(n log n), 최악 O(n²)
핵심 절차
- 1기준값인 pivot을 선택한다.
- 2pivot보다 작은 값, 같은 값, 큰 값으로 나눈다.
- 3작은 값 목록과 큰 값 목록을 재귀적으로 정렬한다.
- 4왼쪽 + 가운데 + 오른쪽 순서로 합친다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
06 · Heap Sort
힙정렬 알고리즘 시각화
시간 복잡도 O(n log n)
핵심 절차
- 1리스트를 힙 구조로 바꾼다.
- 2가장 작은 값을 하나 꺼낸다.
- 3꺼낸 값을 결과 리스트에 넣는다.
- 4힙이 빌 때까지 반복한다.
관찰 포인트
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.
색으로 표시된 비교·교환·확정 영역을 순서대로 따라가며 배열이 정렬되는 흐름을 확인하세요.