선택 정렬 (Selection Sort)
소개 배열을 조회하면서 현재 위치에 들어갈 값 (남은 숫자들 중 가장 크거나 작은 값) 을 찾아 정렬한다. 과정 코드 현재 위치 \(i\) 값과 배열의 나머지 모든 값을 비교하여 가장 작은 값을 가진 인덱스 \(idx\) 를 \(j\)로 갱신한다. 두 번째 for문이 끝나면 \(i\)와 \(idx\) 위치의 값을 바꾼다. public static void main(String[] args) { int[] nums = { 8, 5, 2, 6, 9, 4, 1, 3, 0, 7 }; int len = nums.length; for (int i = 0; i ..
Algorithm/Sort
2020. 12. 24. 13:29
버블 정렬 (Bubble Sort)
소개 배열의 인접한 두 요소 값들을 비교하여 정렬한다. 과정 코드 \(j\) 인덱스 값이 \(j + 1\) 인덱스 값보다 크다면 두 숫자의 위치를 바꿔준다. 첫 번째 for문이 한 번 종료될 때마다 가장 마지막 인덱스에 숫자가 하나씩 정렬된다. public static void main(String[] args) { int[] nums = { 6, 7, 2, 8, 1, 4 }; int len = nums.length; for (int i = 0; i nums[j + 1]) Swap(nums, j, j + 1); } } } 결과 계산 복잡도 Time Complexity : for..
Algorithm/Sort
2020. 12. 24. 13:26