seegongsik
알고리즘

어떻게 뒤섞인 것을 줄 세워요

키 순서로 줄을 서 본 적이 있을 것이다. 정렬은 뒤죽박죽인 것을 순서대로 줄 세우는 일이다. 비결은 단순하다. 옆 사람과 키를 견줘 큰 쪽을 뒤로 보내고, 이것을 거듭하면 줄이 맞아요.

01

정렬이란

키 순서로 서라고 하면 처음에는 다들 뒤죽박죽이다.
정렬은 이것을 작은 것부터 큰 것까지 순서대로 줄 세우는 일이다.
아래에서 뒤죽박죽인 모습과 줄 세운 모습을 견줄 수 있어요.

3
1
4
2
5
키가 제멋대로 섞여 있어요. 이걸 순서대로 만드는 게 정렬이에요.

뒤죽박죽 vs 줄 세운 모습. 뒤죽박죽 → 작은 것부터 큰 것까지.

줄 세운 모습은 보기에도 좋다.
하지만 더 중요한 것은, 순서가 있으면 나중에 찾기가 쉽다는 점이다.
사전이 가나다 순서라서 원하는 낱말을 금방 찾을 수 있는 것처럼요.

02

옆 사람과 키 재기

줄은 어떻게 세울까?
비결은 아주 단순하다. 옆에 선 둘을 보고, 왼쪽이 더 크면 자리를 바꾼다.
작은 것이 앞으로, 큰 것이 뒤로 가게 하는 이 한 동작이 전부예요.

3
1
4
2
5
두 막대를 견줘요. 왼쪽이 크면 자리를 바꿔, 큰 쪽이 뒤로 가요.

왼쪽이 크면 자리를 바꾼다. 둘을 견준다 → 큰 쪽이 뒤로.

딱 두 개만 비교한다.
한 번에 둘씩, 크면 바꾸고 작으면 그대로 둔다.
복잡한 머리를 쓰지 않고 이 단순한 동작을 계속 되풀이하는 거예요.

03

큰 것이 뒤로 간다

이제 진짜로 줄을 세워 본다.
왼쪽부터 옆끼리 견주며 큰 것을 뒤로 민다. 한 바퀴를 돌면 가장 큰 것이 맨 뒤에 자리를 잡는다.
이것을 거듭하면 줄이 차근차근 맞아요.
정렬 시작을 누르면 그 과정이 펼쳐진다.

3
1
4
2
5
노란색은 견주는 중, 빨간색은 자리 바꾸는 중, 초록색은 자리 잡은 거예요.

견주고 바꾸기를 거듭한다. 노랑=견주는 중 · 빨강=바꾸는 중 · 초록=자리 잡음.

큰 막대가 거품처럼 뒤로 떠오르는 것이 보인다.
한 바퀴에 하나씩 제자리를 찾아간다.
단순한 비교와 교환이 모이고 모여 온전한 줄을 만들어요.

04

왜 결국 맞을까

한 바퀴 돌 때마다 가장 큰 것이 뒤에 자리를 잡는다.
두 바퀴면 둘째로 큰 것이, 세 바퀴면 셋째로 큰 것이 자리를 잡는다.
이렇게 한 걸음에 하나씩 뒤에서부터 채워지니, 걸음을 거듭하면 언젠가 다 맞게 돼요.

3
1
4
2
5
아직 시작 전이에요
한 걸음(한 바퀴)마다 초록 하나가 늘어요. 뒤에서부터 줄이 맞아가요.

한 걸음 더를 누를 때마다 하나씩 자리를 잡고, 걸음을 거듭하면 줄이 완성된다.

그래서 정렬은 믿을 만하다.
아무리 뒤죽박죽이어도 걸음을 거듭하면 반드시 줄이 맞는다.
느리든 빠르든, 순서를 지키면 끝은 정해져 있어요.

05

줄을 세우면 좋은 점

정렬은 정말 곳곳에 있다.
점수로 등수를 매기고, 이름을 가나다순으로 늘어놓고, 물건을 가격순으로 보여 준다.
무엇보다 줄이 맞아 있으면 찾기가 훨씬 쉽다. 그것은 조금 뒤에 이어지는 이야기예요.

정렬 = 순서대로 줄 세우기
옆끼리 견주고 · 큰 건 뒤로 · 거듭하면 줄이 맞아요.
탐색
원하는 걸 찾아내기
순위
점수·가격 줄 세우기
그 너머
더 빠른 줄 세우기
다음 레슨에서는 더 빠르게 줄 세우는 법을, 그다음에 줄 세운 것에서 원하는 걸 빠르게 찾는 '탐색'을 다뤄요.

줄을 세웠으니 다음으로. 정렬 = 순서대로 줄 세우기 → 탐색 · 순위 · 그 너머.

줄을 세우는 일은 그 자체로도 쓸모 있지만 그다음을 위한 준비이기도 하다.
정돈해 두면 찾기도 고르기도 쉬워진다.
순서의 힘은 생각보다 커요.

한 줄 정리정렬은 뒤섞인 것을 순서대로 줄 세우는 일이다. 옆끼리 견줘 큰 것을 뒤로 보내기를 거듭하면 줄이 차근차근 맞는다. 한 걸음마다 하나씩 제자리를 찾으니 아무리 뒤죽박죽이어도 끝에는 줄이 맞고, 정돈해 두면 찾기도 쉬워져요.
← 알고리즘
이 페이지가 도움 됐다면 후원하기