2013-03-14 4 views
1
  • java.util.TreeSet의 higher()의 복잡성은 무엇입니까?
  • 모든 요소에 오름차순으로 액세스하는 (상각 된) 복잡성은 무엇입니까?

description에는 "이 구현은 기본 작업 (추가, 제거 및 포함)에 대해 보장 된 log (n) 시간을 제공합니다"라고 말합니다.TreeSet 조작의 복잡성

+1

"모든 요소를 ​​오름차순으로 액세스"하는 것은 집합을 반복하거나 "higher()"를 반복적으로 호출하는 것을 의미합니까? – NPE

+0

세트를 반복합니다. 모든 요소의 경우뿐만 아니라 모든 하위 시퀀스 (예 : "다음 4 개 요소 제공"). higher()에 대해서는 항상 O (logN)에 있어야합니다. – user1377000

답변

0

나는 higher()도 log (n)이 될 것이라고 믿습니다. 상위 요소를 찾으려면 higher()에 입력을 삽입 할 위치를 찾고 "up"으로 이동하면 log (n) 시간이됩니다.

요소를 반복하면서 n 시간을보고 있습니다. contains를 사용하여 각 요소 구매에 액세스하면 n log (n) 시간을 보게됩니다.

+0

사실 : contains는 log (N)에 있어야합니다. 왜 n 시간? – user1377000

+1

글쎄'log (n)''n '번 사용하면'n log (n)' – Esailija