본문 바로가기

공부 기록/알고리즘

Do it! 알고리즘 코딩테스트 with JAVA - (9) 삽입 정렬

삽입 정렬

- 이미 정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입시켜 정렬하는 방식

- 시간 복잡도는 O(n^2)으로 느린 편이지만 구현하기 쉽다.

 

핵심 이론

- 선택 데이터를 현재 정렬된 데이터 범위 내에서 적절한 위치에 삽입한다.

 

삽입 정렬 과정

  1. 현재 index에 있는 데이터 값을 선택한다.
  2. 현재 선택한 데이터가 정렬된 데이터 범위에 삽입될 위치를 탐색한다.
  3. 삽입 위치부터 index에 있는 위치까지 shift 연산을 수행한다.
  4. 삽입 위치에 현재 선택한 데이터를 삽입하고 index++ 연산을 수행한다.
  5. 전체 데이터의 크기만큼 index가 커질 때까지, 즉 선택할 데이터가 없을 때까지 반복한다.

문제 풀이

https://yurison.tistory.com/439

 

[백준/자바] 11399 - ATM

Arrays.sort()를 이용한 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOEx

yurison.tistory.com