-
[알고리즘] 삽입정렬알고리즘 2018. 8. 20. 12:5412345678910111213141516171819202122232425262728293031323334353637package test_java;import java.io.IOException;public class Main {public static void main(String[] args) throws IOException {int[] arr= {4,2,5,6,1,3};insertSort(arr);for(int result : arr) {System.out.println(result);}}public static int[] insertSort(int[] arr) {for (int i = 1; i < arr.length; i++) {int standard = arr[i]; // 기준int compare = i - 1; // 비교while (compare >= 0 && standard < arr[compare]) {arr[compare + 1] = arr[compare]; // 비교대상이 더크면 idex을 증가시켜 넣어둠compare--;}arr[compare + 1] = standard;}return arr;}}// CLASS END
cs 삽입정렬이란?
- 각 구간별 하나씩 삽입하면서 정렬하는 것
예제
4 2 5 6 1 3
1회전 2 4 5 6 1 3
2회전 2 4 5 6 1 3
3회전 2 3 4 5 6 1
4회전 2 3 4 5 6 1
5회전 1 2 3 4 5 6
*시간복잡도
=> O(n^2)
'알고리즘' 카테고리의 다른 글
[Codility] BinaryGap 100점 (0) 2019.03.14 [Codility] CyclicRotation 87점→100점 (0) 2019.03.03 [Codility] OddOccurrencesInArray 55점→100점 (0) 2019.02.16 [알고리즘] 선택정렬 (0) 2018.08.20 [알고리즘] 백준알고리즘 - 피보나치수열 2747 (0) 2018.08.12