목록정렬 (2)
개발박사가 되고싶은 척척학사
거품정렬 : 선택정렬과 유사한 알고리즘으로, 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘 과정(오름차순 기준) 1회전에 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, … 이런 식으로 비교하여 조건에 맞지 않는다면 서로 교환 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 원소는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 원소까지는 정렬에서 제외됩니다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어납니다. Java Code - 오름차순 기준 void bubbleSort(int[] arr) { int temp = 0; fo..
선택 정렬 : 해당 순서에 원소를 넣을 위치를 먼저 정한 후, 어떤 원소를 넣을지 선택하는 알고리즘 예시) 선생님이 학생들을 작은 키부터 큰 키 순서대로 세운다고 가정해보자. 1열로 서있는 학생들 중 가장 작은 학생을 뽑아 맨 앞으로 보내고, 남은 학생들 중 가장 작은 학생을 두번째로 보낸다. 이런 식으로 자리를 먼저 정하고 그 자리에 어떤 원소를 넣을지를 정하는 것이 선택 정렬이다. 과정 주어진 배열의 최소값을 찾는다. 그 값을 맨앞에 위치한 값과 교체한다. 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다. Java Code - 오름차순 기준 void selectionSort(int[] arr) { int indexMin, temp; // 1. 원소를 넣을 위치(index) 선택 for (in..