2012-08-02 3 views
1

특정 값 아래에있는 SortedList에서 마지막 항목의 값을 찾고 싶습니다. SortedList는 2 진 검색이 가능한 것으로 구현되었으므로 O (log (n))에서 가능합니다. 난 단지 Enumerable.Last (http://msdn.microsoft.com/en-us/library/bb549138(v=vs.90).aspx)에 대한 설명서를 찾을 수 있습니다술어가있는 SortedList.Last의 성능

data.Last(x => x.Key < 100); 

그리고 그것이 일반적인 열거 기반 구현을 사용하지 않습니다 있는지 확인하려면 :

이 코드의 성능은 무엇 일 것입니다.

답변

1

SortedList.Last 방법에 대해 IEnumerable<T>과 동일하게 수행되며 둘 다 O (n)입니다.

+0

.Last에게(), 단지 좁은 방()처럼, 또한 목록의 전면에서 열거하므로 항목이 가까운 경우에 사용해야합니다 너는 최악의 경우 O (n) 성능 근처에서 볼 것이다. – TheEvilPenguin

0

다른 질문으로 귀하의 질문에 답변 드리겠습니다. SortedList은 임의의 술어에 대해 O (n)보다 더 잘 수행하기 위해 어떻게 고유 한 정렬을 사용합니까? 술어에 대한 가정을하지 않는

당신은 기본적으로 표준 열거 방식