JS 정렬 의 빠 른 정렬 상세 설명

1473 단어 JS정렬
본 고 는 JS 빠 른 정렬 의 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
설명 하 다.
시간 복잡 도 는 알고리즘 실행 에 걸 리 는 시간 을 말한다.
공간 복잡 도 는 프로그램 을 실행 하 는 데 필요 한 메모리 의 크기 를 가리킨다
안정 이란 a=b,a 가 b 앞 에 있 으 면 정렬 후 a 는 b 앞 에 있 습 니 다.
불안정 이란 a=b,a 가 b 앞 에 있 으 면 정렬 후 위 치 를 바 꿀 수 있 습 니 다.
--JS 빠 른 정렬-
의 원리
배열 에서 기 수 를 선택 한 다음 배열 의 모든 항목 을 이 기수 와 비교 하고 작은 것 은 새 배열 에 넣 고 큰 것 은 다른 배열 에 넣 습 니 다.그리고 이런 방법 으로 새 배열 을 조작 합 니 다.모든 부분 집합 에 하나의 요소 만 남 을 때 까지 정렬 이 완료 되 었 습 니 다.
시간 복잡 도,공간 복잡 도,안정성
  • 평균 시간 복잡 도 O(nlogn)
  • 최 적 상황 O(nlogn)
  • 최 악의 경우 O(n*n)
  • 공간 복잡 도 O(logn)
  • 안정성:불안정
  • 빠 른 정렬 의 쓰기
    
    var examplearr=[8,94,15,88,55,76,21,39];
    function fastsort(arr){
      if(arr.length<2){
        return arr;
      }
      var left=[];
      var right=[];
      var pivotIndex=Math.floor(arr.length/2);
      var pivot=arr.splice(pivotIndex,1)[0];
      for(i=0;i<arr.length;i++){
        if(arr[i]<pivot){
          left.push(arr[i]);
        }else{
          right.push(arr[i])
        }
      }
      return fastsort(left).concat([pivot],fastsort(right));
    }
    console.log(fastsort(examplearr));
    
    
    
    해석 하 다.
    pivotIndex 는 배열 의 길 이 를 2 로 나 누 어 아래로 조정 한 수치 입 니 다.배열 의 길 이 는 계속 반 으로 줄 어 들 기 때문에 마지막 값 은 0 입 니 다.
    pivot 는 splice 방법 을 이용 하여 배열 에서 기 수 를 가 져 옵 니 다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기