Necesito escribir un código para la interpolación lineal y estoy tratando de encontrar la manera más eficiente de buscar las claves de un SortedList<K, V>
para las teclas superior e inferior que rodean mi tecla objetivo.Binary Search on Keys of SortedList <K, V>
SortedList<int, double> xyTable = new SortedList<int, double>()
{
{1, 10}, {2, 20}, {3, 30}, {4,40}
};
double targetX = 3.5;
¿Cuál es la forma más eficiente de buscar en la lista y determinar que 3.5 está entre 3 y 4? Tengo un método/truco que funciona para enteros (inserte temporalmente la clave objetivo en la lista y luego encuentre el índice) pero pensé que podría preguntar a los profesionales para poder producir un código de calidad.
Gracias.
ordenados suena perfecto para la búsqueda binaria – Marc
[Un ejemplo de log (n) límite inferior de búsqueda] (http: // stackoverflow.com/questions/594518/is-there-a-bound-bound-in-c-on-a-sortedlist) – digEmAll