키/값 쌍의 일부 빌드 빌드로 reoccuring 작업이 있습니다. 키는 Double 유형입니다. 나는 매회 1에서 9 쌍을 가진다. 그리고 키의 순서로 값을 검색해야합니다.C# 빠른 정렬 및 소량의 키 값 쌍 검색
제 질문은 모든 작업에 대해 최상의 성능을 얻기 위해이 쌍을 구현하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.
키/값 쌍의 일부 빌드 빌드로 reoccuring 작업이 있습니다. 키는 Double 유형입니다. 나는 매회 1에서 9 쌍을 가진다. 그리고 키의 순서로 값을 검색해야합니다.C# 빠른 정렬 및 소량의 키 값 쌍 검색
제 질문은 모든 작업에 대해 최상의 성능을 얻기 위해이 쌍을 구현하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.
. 정렬 알고리즘에 신경을 쓰는 이유는 닷넷 프레임 워크가 이미 99.9999 % * 개의 가능한 경우에 내장 된 효율적인 알고리즘을 가지고 있기 때문입니다.
SortedList<double, T>
은 다음 "키"를 복제하지 않는 한 단지 List<Tuple<double,T>>
를 사용하고 Sort
를 호출하거나 결과를 할 때 OrderBy
을 사용할 가능성이 가장 좋은 건입니다.
10 개 이하의 항목은 한 번에 수억 개의 이러한 정렬 작업을 수행하지 않는 한 전혀 없습니다.
* 상대적인 과장법. 이 같은
매우 빠른 답변을 주셔서 대단히 감사합니다. – eran
뭔가 어쩌면
var sorted = from k in yourContainer.Keys
orderby yourContainer[k] ascending
select k;
double
는 key
으로 좋은 후보가 아닙니다.
하지만이 방법으로 그것을 사용하려는 경우 Dictionary<double, ..something..>
또는
SortedList<double, ..something..>
이 유 것을 시도 않았기 사용할 수 있습니까? u를 시도해 보면 이해할 수 있습니다. – DarthVader
이렇게 적은 양의 데이터만으로도 구현 방법은 중요하지 않습니다. 내장 된 컨테이너를 기본'Sort' 메소드와 함께 사용하고 하루 만 부르면됩니다. – FishBasketGordo