[Algorithm] 선택정렬 - Selection Sort
·
카테고리 없음
진행 순서배열 전체 중 최대 or 최소값을 찾는다.찾은 값을 배열의 맨 처음 위치의 값과 SWAP한다.SWAP했던 위치를 제외한 이후 위치부터 위 과정을 반복한다.코드void selectionSort() { int arr[5] = {5, 4, 3, 2, 1}; for(int i=0; i시간 복잡도1회전 : 1 ~ (n-1) ⇒ n-12회전 : 2 ~ (n-1) ⇒ n-2…n-1회전 : (n-1) ~ (n-1) ⇒ 1(n-1) + (n-2) + … + 2 + 1 ⇒ n(n-1)/2 ⇒ O(N^2)최선평균최악 공간 복잡도한개의 배열 안에서 수행장점구현 단순정렬을 위해 비교 횟수는 많지만, 버블 정렬에 비해 실제 교환 횟수는 적기 때문에, ”교환이 많이 일어나야”하는 자료 상태에서 비교적 효율적정렬하고자 하..
[Algorithm] 버블(거품) 정렬 - Bubble Sort
·
Computer Science/Algorithm
진행 순서서로 인접한 두 원소 대소를 비교하고정렬하고자 하는 조건에 맞지 않다면 자리를 교환코드void bubbleSort() { int arr[5] = {5, 4, 3, 2, 1}; for(int i=0; i arr[j]) { int tmp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = tmp; } } }}시간 복잡도원소가 정렬되있든, 아니든 모두 탐색함최선평균최악 공간 복잡도한개의 배열 안에서 수행장점구현 단순정렬하고자 하는 배열안에서 정렬 교환이 발생하므로, 다른 메모리 공간을 필요로 하지 않는다.stable sort동일한 정렬 기준(같은 크기의 원소)을 가진 것은 정렬 후 위치가 같다.단점최선, 평균, 최악이 O(N^2)으로 비효율정렬되어 있지 않은 ..