$ n $ 항목의 정리되지 않은 목록이 주어지면 평균적으로 목록을 정렬 할 수 있도록 비교가 얼마나됩니까?

cs.stackexchange https://cs.stackexchange.com/questions/118531

문제

$ n $ 항목 $ x_1, \ ldots, x_n $ 의 목록이 없습니다. 목록을 정렬 할 수있을 때까지 $ {n \ 2} $ 무작위로 균일하게 균일하게 비교됩니다 (교체 포함).

평균적으로 이러한 임의의 비교를 얼마나 많이 정렬 할 수 있습니까?

일부 후속 질문 :

  1. 비교 수의 배포가 필요로하는 것은 무엇입니까?
  2. 이진 대신 $ k $ - 가리있는 비교를 사용하는 경우 답변이 무엇입니까?
  3. 교체없이 비교가 이루어지면 대답은 무엇입니까 (즉, 동일한 비교를 두 번이나 동일하지 않을 것임)?
  4. 비교 세트가 주어지면 목록이 정렬 할 수 있는지 확인하는 방법은 어떻게 확인할 수 있습니까? 나는 거의 확실한 대답이 DAG와 토폴로지를 구성하는 것입니다. 그러나 나는 단지 확인하고 싶습니다.
  5. 정확한 이스 답변은 멋지지만 빅 $ o $ 답변도 괜찮습니다.

도움이 되었습니까?

해결책

아시 젊음으로 $ \ theta (n ^ 2 \ log n) $ 비교가 필요합니다.

$ x _ {(1)}, \ dots, x _ {(n) $ x / span>은 정렬 된 순서의 요소를 나타냅니다. 그런 다음 $ x _ {(1)} $ $ x _ {(2)} $ , 당신은 그들이 어떤 순서로 표시 해야하는지 알 수 없을 것입니다. 인접한 모든 쌍의 한 쌍에 대해서도 마찬가지입니다. 따라서 $ n-1 $ 쿠폰 (인접한 요소 당 하나씩)이 있으며 모두 수집해야합니다. 쿠폰 수집기 문제 $ \ theta (n \ log n) $ 우리가 모두 수집하기 전에 무작위로 선택한 쿠폰을 선택했습니다. 각 관찰에는 $ 2 / n $ 쿠폰이 될 확률이 있으므로 전체에서 $ \ theta (n ^ 2 \ log n) $ 우리가 모든 쿠폰을 수집하기 전에 관찰. 우리가 모든 쿠폰을 수집하면 $ x $ 의 정렬 할 수 있습니다. 우리가 쿠폰이 누락 된 경우, 정렬 할 수는 없습니다.

쿠폰 수집기 문제에 대한 사실로 끓인 질문은 Wikipedia의 꼬리 경계를 사용하여 배포에 대한 정보를 바인딩 할 수 있습니다.

대체없이 비교를 선택하면 $ \ theta (n ^ 2) $ 관측치가 필요합니다.

목록이 정렬 할 수 있는지 여부를 확인하는 합리적인 방법은 토폴로지 정렬 된 순서로 인접한 모든 항목의 모든 쌍을 비교했는지 확인하십시오.

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