2009-03-11 4 views
3

SortedDictionary를 사용한 적이 한번도 없었습니다. 예를 들어 for 루프에 값을 추가하면 값을 추가 할 때 값이 자동으로 정렬되는지 아니면 추가 한 후에 값을 정렬해야하는지 궁금했습니다.SortedDictionary가 자동으로 정렬됩니까?

답변

6

자동으로 완료됩니다. 사전은 올바르게 작동하도록 정렬되어야하는 방식으로 구성됩니다.

+1

나는 나무로 구현되기를 기대한다. 아마 붉은 검정색 또는 AVL 나무. –

+0

예, @itsmatt가 나타내는 것처럼 MSDN에서는 이진 검색 트리라고 말합니다. – bdukes

2

정렬 된 순서가 SortedDictionary의 불변 값이므로 명시 적으로 정렬 할 필요가 없습니다.

4

예. Microsoft는 SortedDictionary here에 대해 설명합니다.

그 분류가 자동으로 일어나고 표시 해당 페이지에서 몇 따옴표

:

는 "SortedDictionary < (< (TKEY의, TValue>)>) 제네릭 클래스가있는 바이너리 검색 트리입니다 O (로그 n) 검색, 여기서 n은 사전의 요소 수입니다. "

O (로그 n) 조회는 (일반적으로) 우리가 이진 검색을 통해 일치하는 것을 찾고있는 트리에 있음을 나타냅니다.

"SortedDictionary < (< (TKEY 중 는>)> TValue) 빠르게 삽입 및 정렬되지 않은 데이터 제거 작업을 가지고 O (로그 n) O 반대 (N) SortedList < (Of < (TKey, TValue>)>). "

또한 삽입 지점을 찾기 위해 구조를 반복해야하므로 삽입시 O (log n)를 다시 지정해야합니다.

좋은 재미.

관련 문제