2017-12-26 15 views
-1

배열의 모드를 O (nlogn)로 찾으라는 메시지가 나타납니다. 나는 O (n) 시간에 그것을 찾을 수 있지만 O (nlogn)에있는 다른 방법을 생각할 수 없었다. 무작위 알고리즘을 사용해야합니까? (내 O (n) 솔루션이 잘못 되었습니까). 내 O (n) 솔루션은 계산 알고리즘과 유사합니다. 그 편리 그래프O (nlogn) 시간에 배열 찾기 모드

+0

난 당신이 – TinkerTenorSoftwareGuy

+3

우리에게 코드를 보여 배열의 "노드"가 아닌 "모드"를 의미 생각합니다. O (n)은 O (n logn)에 있습니다. 즉, 이미 솔루션이 있음을 의미합니다. – MrSmith42

+0

내 배열이 정수 배열이 아닙니다. 그래서, 내 방법이 작동하지 않습니다 : ( –

답변

2
  1. 정렬 배열 O의 요소의 배열을
  2. 대하여 반복을 (N 로그 n)와 동일한, 인접 소자의 수를 계산. 가장 높은 수가 모드입니다. O 그래서 함께

O 소요 (N) (N 로그 n)이 시간

+0

몬테카를로 알고리즘을 사용할 수 있습니까? –

0

http://bigocheatsheet.com/

이 해당 표시됩니다

  • O (n은) O (N 로그 n)이
  • 어떤 알고리즘을 만족 최악의 경우 O보다 더 나은 성능입니다 (n)은 최악의 경우를 만족합니다. O (n log n)

원래 제안한 질문은 당신보다 약간 더 나은 최악의 해결책을 생각하지 않았다는 것입니다. 당신의 분석이 맞다면.

+0

그의 ** O (n) ** 솔루션은 필요한 모든 비교 가능한 개체가 아닌 정수에 대해서만 작동합니다. – MrSmith42