Computer Science
-
[알고리즘] 삽입 정렬 (Insertion sort) - 자바 JavaComputer Science/Algorithm 2022. 8. 13. 17:54
[ 개념 ] 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘 [ 과정 설명 (오름차순) ] - 두 번째 요소부터 시작하여, 그 앞의 요소들과 비교하여 삽입할 위치 지정 - 두 번째 요소보다 값이 클 경우 위치를 한 칸씩 뒤로 이동 시키고, 같거나 작을 경우에는 이동을 멈추고 해당 인덱스에 요소를 삽입 - 매 순서마다 특정 요소를 어디에 삽입할 수 있는지 위치를 찾아 삽입하여 정렬 [ 코드 예시 (오름차순) - 자바 Java ] public class InsertionSort { public static void main(String[] args) { int[] nums = { 9, 5, 6, 2, 4 }; insertionS..
-
[알고리즘] 선택 정렬 (Selection Sort) - 자바 JavaComputer Science/Algorithm 2022. 8. 13. 16:55
[ 개념 ] 원소를 넣을 위치는 정해져 있고, 저장된 자료로부터 어떤 원소를 넣을지를 선택하는 알고리즘 - 제자리 정렬 알고리즘의 하나로, 자리를 선택하고 그 자리에 오는 값을 찾는 알고리즘 [ 과정 설명 (오름차순) ] - 첫 번째 순서에서는 첫 번째 위치에 배열의 최소값을 찾아 넣어준다. - 두 번째 순서에서는 두 번째 위치에 배열의 남은 값 중에서의 최소값을 넣어준다. [ 코드 예시 (오름차순) - 자바 Java ] public class SelectionSort { public static void main(String[] args) { int[] nums = {9, 5, 6, 2, 4}; selectionSort(nums); } public static void selectionSort(int..
-
[알고리즘] 버블 정렬 (Bubble Sort) - 자바 JavaComputer Science/Algorithm 2022. 8. 13. 16:03
[ 개념 ] 인접한 두 개의 원소를 비교하며 자리를 계속 교환하여 정렬하는 알고리즘 - 비교 정렬, 제자리 정렬, 안정 정렬에 속함 📍 안정 정렬 VS 불안정 정렬 - 안정 정렬: 중복된 값을 입력 순서와 동일하게 정렬하는 정렬 알고리즘(버블정렬, 삽입정렬, 병합정렬 등) - 불안정 정렬: 중복된 값이 입력 순서와 동일하지 않게 정렬되는 정렬 알고리즘(퀵정렬, 선택정렬, 계수정렬 등) [ 과정 설명 (오름차순) ] - 첫 번째 원소부터 인접한 원소끼리 값을 비교하며 오른쪽이 큰 숫자일 수 있도록 계속 자리를 교환하며 맨 마지막 자리까지 이동 - 한 단계가 끝나면 가장 큰 원소가 맨 뒤로 이동하므로, 다음 단계부터는 가장 뒤에 있는 요소는 정렬에서 제외 - 다시 첫 번째 원소부터 값을 비교하며 이동하며 정..