정렬알고리즘

1. 퀵 정렬(분할정복법) 1) 과정 - 리스트에 원소 하나를 고른다(피벗) - 피벗과 다른 n-1개 원소 각각을 비교하여, 피벗보다 작은 것과 큰 것으로 분할한다. - 분할된 두 개의 작은 리스트를 재귀적으로 정렬한다. 2) 피벗 선택방법 - 중앙값(최선 피벗) - 랜덤선택 - 리스트 맨앞, 중간, 맨뒤에 있는 세 원소의 중앙값을 선택 3) 코드 void Quick_sort(int arr[],int i, int j) { int n, cnt = 0; if (i >= j) return; int pivot = arr[(i + j) / 2]; int left = i; int right = j; while (left pivot) right--; if (left
BeNI
'정렬알고리즘' 태그의 글 목록