Algorithm/정렬
-
[Java]삽입 정렬(Insertion Sort)Algorithm/정렬 2021. 6. 25. 01:38
*삽입 정렬(Insertion Sort) ->삽입 정렬이란 2번째 원소부터 n번째 원소까지 차례로 해당 원소가 위치할 인덱스에 원소를 삽입하는 방식을 사용하는 정렬 방식이다. ->2번째 원소부터 n번째 원소부터 차례로 각 원소가 맞는 위치에 '삽입'하는 방식을 사용하며 배열을 정렬하기 때문에 삽입 정렬이라고 이름지었다. ※사람에게 어떤 대상을 정렬하라고 한다면 무의식적으로 수행하는 정렬 방식이라고 한다! *삽입 정렬의 이해 ->어떤 대상을 '오름차순'으로 정렬할 때 삽입 정렬은 2번째 원소부터 앞의 원소와 비교하는 과정을 통해 적절한 위치에 삽입하고, n번째 원소까지 이 방식을 반복함으로써 정렬을 진행할 수 있다. 예를 들어 [6, 2, 3, 4, 1]이라는 배열을 삽입 정렬을 이용하여 오름차순 정렬을 ..
-
[Java]선택 정렬(Selection Sort)Algorithm/정렬 2021. 6. 25. 00:44
*선택 정렬(Selection Sort) ->선택 정렬이란 한 번의 배열 탐색에서 가장 작은 원소의 '위치'를 찾고, 그 위치와 배열의 가장 첫 번째 원소부터 차례로 바꿔주는 방식을 사용(오름 차순으로 정렬하는 경우)하는 정렬 방식이다. ※가장 큰 원소의 위치를 찾고, 배열의 가장 마지막 원소부터 차례로 바꿔주는 방식을 사용해도 된다. 다만 반복문을 구현할 때 작은 원소의 값을 찾는 방식이 조금 더 구현하기 편하기 때문에 작은 원소를 찾는 방법을 주로 사용한다. ->말 그대로 큰 원소나 작은 원소를 선택하고 그 위치를 바꿔주기 때문에 선택 정렬이라는 이름을 사용한다. *선택 정렬의 이해 ->어떤 대상을 '오름차순'으로 정렬할 때 선택 정렬은 원소를 처음부터 탐색하면서, 작은 수를 찾고 그 수를 배열의 앞..
-
[Java]버블 정렬(Bubble Sort)Algorithm/정렬 2021. 6. 25. 00:08
*버블 정렬(Bubble Sort) ->버블 정렬이란 인접한 두 원소를 비교하며, 큰 수를 계속하여 뒤로 보내 정렬하는 방식을 사용(오름 차순으로 정렬하는 경우)하는 정렬 방식이다. ->원소들이 거품이 올라오는 것처럼 보여 거품 정렬(Bubble Sort)이라고 이름지었다. *버블 정렬의 이해 ->어떤 대상을 '오름차순'으로 정렬할 때 버블 정렬은 원소를 처음부터 탐색하면서, 큰 수를 계속하여 뒤로 밀어내는 방식을 사용한다. 예를 들어 [5, 3, 1, 10, 7]이라는 배열을 버블 정렬을 이용하여 오름차순 정렬을 해보면 다음과 같다. 먼저, Array[0]와 Array[1]을 비교해보자. Array[0]가 Array[1]보다 크기 때문에, 이 두 배열의 원소의 위치를 바꾸어준다. 다음으로 Array[1..