Мне нужна структура данных, которая действует как SortedDictionary<int, double>
, но сортируется по значениям, а не по ключам. Мне нужно около 1-2 микросекунд для добавления и удаления элементов, когда в словаре около 3000 элементов.
Моей первой мыслью было просто переключить ключи и значения в моем коде. Это почти работает. Делая это, я могу добавлять и удалять элементы примерно за 1,2 микросекунды в моем тестировании.
Но ключи должны быть уникальными в SortedDictionary, что означает, что значения в моем обратном словаре должны быть уникальными. И в некоторых случаях их может не быть.
Есть ли какие-нибудь идеи о том, что уже есть в библиотеках .NET, которые будут работать для меня?