Skip to content

Sort Algorithm

parktaehyun11 edited this page Feb 11, 2018 · 1 revision

#알고리즘

  • 알고리즘은 문제를 해결하기 위해 구성된 순서화된 절차이다.
  • 알고리즘은 다음의 조건을 만족해야 한다.
    • 0개 이상의 입력과 1개 이상의 출력이 있어야 한다.
    • 종료되어야 한다.
    • 모든 명령이 실행 가능해야 한다.
  • 기초 알고리즘으로 다음과 같은 알고리즙이 있다.
    • 정력 알고리즘
    • 탐색 알고리즘

정렬(sort) 알고리즘

  • 정렬(sort)이란 데이터를 일정한 규칙에 따라 재배열하는 것을 의미한다.
  • 정렬의 대표적 두가지 정렬을 알아보자.
    • 선택 정렬
    • 삽입 정렬

선택 정렬

  • 선택 정렬은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식이다.

1) 가장 작은 데이터인 1을 가장 앞에 위치한 15와 교환한다. 가장 작은 데이터가 가장 앞에 위치하게 된다.
Image and video hosting by TinyPic
2) 첫 번째 데이터를 제외한 나머지 데이터에서 가장 작은 데이터인 3을 두 번째 데이터인 11과 교환한다.
Image and video hosting by TinyPic
3) 첫 번째, 두 번째 데이터를 제외한 나머지 데이터에서 가장 작은 데이터인 8을 세 번째 데이터인 15와 교환한다.
Image and video hosting by TinyPic
4) 첫 번째, 두 번째, 세 번째 데이터를 제외한 나머지 데이터에서 가장 작은 데이터인 11을 네 번째 데이터인 11과 교환한다. 같은 데이터이므로 위치의 변화는 없다.
Image and video hosting by TinyPic
5) 데이터들에 대한 정렬이 완료된다.
Image and video hosting by TinyPic

삽입 정렬

  • 삽입 정렬은 아직 정렬되지 않은 임의의 데이터를 이미 정렬된 부분의 적절한 위치에 삽입해 가며 정렬하는 방식이다.

1) 두 번째 데이터 11과 바로 앞에 위치한 15의 크기를 비교한다. 두 번째 데이터가 작으므로 15를 한 칸 뒤로 보내고 11을 15 앞에 위치시킨다.
Image and video hosting by TinyPic

2)세 번째 데이터인 1과 앞에 위치한 11, 15의 크기를 비교한다. 1이 가장 작으므로 11과 15를 한 칸씩 뒤로 보내고 1을 가장 앞에 위치시킨다.

  1. 네 번째 데이터인 3과 앞에 위치한 1, 11, 15의 크기를 비교한다. 3은 1보다 크고 11, 15보다 작으므로 11과 15를 한 칸씩 뒤로 보내고 3을 11 앞에 위치시킨다.

  2. 마지막 데이터인 8과 앞에 위치한 1, 3, 11, 15의 크기를 비교한다. 1, 3보다 크고 11, 15보다 작으므로 11과 15를 한 칸씩 뒤로 보내고 8을 11 앞에 위치시킨다.

  3. 데이터들에 대한 정렬이 완료된다.

Clone this wiki locally