문제

는 n 개의 객체가 있고, object j의 값보다 작 으면 z (i, j)= 1과 같은 z (i, j)= 1을 n 개의 매트릭스 Z와 z (i, j)= 0 다르 다.Matrix z 만 주어지면 이러한 N 객체를 정렬하려면 어떻게합니까?

도움이 되었습니까?

해결책

찾고있는 것은 비교 정렬 입니다. 그 기사를 살펴보십시오.


최종 정렬 된 목록에 나타나면 두 개의 주어진 객체, Object I 및 Object j에 대한 요구 사항을 명확하게 나타냅니다. obs (i, j)= z (i, j)= z (j, i)= 0 인 경우 object j j= 0.

vonbrand가 언급 한 것으로, 우리는 매트릭스 z가 잘 정의 된 "덜"관계 또는 수학면에서, 객체의 값에 대한 총 엄격한 . 그렇지 않으면 주어진 객체가 정렬되지 않을 수 있습니다.

  • z [i, j]= z [j, i]= 1. 그렇지 않으면 객체 i와 object j를 정렬 할 수 없습니다.
  • z [j, i]= 0 [i, k]= 1 및 z [k, j]= 1 k의 경우= 0. 그렇지 않으면 객체 i, j 및 k를 정렬 할 수 없습니다 (종이 가위 - 암석을 생각해보십시오).

z가 잘 정의 된 "적은"관계를 지정한다고 가정합니다. 그런 다음 " $ \ le $ "비교 작업을 자연스럽게 정의합니다. 즉, z (j, i)= 0, 그런 다음 object i $ \ le $ object j. 따라서 주어진 $ n $ 객체를 정렬하는 비교 정렬을 적용 할 수 있습니다.

거의 모든 분류 알고리즘은 비교 정렬입니다. 예를 들어, QuickSort, Mergesort, 삽입 정렬, 선택 정렬 및 버블 정렬. 주목할만한 예외는 계산 정렬 .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top