Двоичный поиск по ключам SortedList

Мне нужно написать код для линейной интерполяции, и я пытаюсь найти наиболее эффективный способ поиска ключей в SortedList для верхнего и нижнего ключей, окружающих мой целевой ключ.

SortedList<int, double> xyTable = new SortedList<int, double>()
{
    {1, 10}, {2, 20}, {3, 30}, {4,40}
};

double targetX = 3.5;

Каков наиболее эффективный способ поиска в списке и определения того, что 3,5 находится между 3 и 4? У меня есть метод / чит, который работает с целыми числами (временно вставьте целевой ключ в список, а затем найдите индекс), но я решил, что попрошу профессионалов, чтобы я мог создать качественный код.

Спасибо.

16
задан nawfal 11 June 2014 в 13:33
поделиться