정렬 알고리즘 - 빠 른 정렬

의 원리
분 치 된 사상 을 채택 하 다.주로 세 단계 로 나 뉜 다.
첫 번 째 단 계 는 기 수 를 선택한다.
두 번 째 단 계 는 정렬 배열 을 분 구 하 는 과정 에서 이 기수 보다 작은 것 을 왼쪽 에 놓 고 이 기수 보다 큰 것 을 오른쪽 에 놓 습 니 다.
세 번 째 단 계 는 남 은 숫자 가 있 을 때 까지 좌우 파 티 션 에 똑 같은 동작 을 수행 합 니 다.
분석 하 다.
최 악의 경우, 즉 데이터 의 구분 불 균형 이다. 일 부 는 n - 1 개의 숫자 이 고, 다른 일 부 는 데이터 가 없 으 며, 매번 구분 할 때마다 이런 상황 이 라면 그 시간 복잡 도 는 O (n2) 이다.일반적인 상황 (가장 좋 은 것 포함) 에서 그 시간 복잡 도 는 O (nlog2n) 이다.아래 의 실현 과정 은 원래 의 배열 을 바탕 으로 배열 을 정렬 하기 때문에 그 공간 복잡 도 는 O (1) 이다.
C 언어 구현
void qsort(int *arr, int start, int end)
{
    int high = end, low = start;
    int value = arr[start];
 
    if(NULL != arr || start  value){
                 high--;
            }
            if(low  
  



좋은 웹페이지 즐겨찾기