Javascript Binario de búsqueda / Insertion Preformance
function binarySearch(value)
{
var startIndex = 0,
stopIndex = words.length - 1,
middle = Math.floor((stopIndex + startIndex) / 2);
while (words[middle] != value && startIndex < stopIndex) {
// adjust search area
if (value < words[middle]) {
stopIndex = middle - 1;
} else if (value > words[middle]) {
startIndex = middle + 1;
}
// recalculate middle
middle = Math.floor((stopIndex + startIndex) / 2);
}
}
Estoy haciendo una gran lista de palabras en el formato de una matriz:
p.ej.["a","ab","abc","b"]
En orden alfabético. ¿El problema que tengo es modificar mi algoritmo de búsqueda binario para agregar la palabra en el lugar correcto y luego actualizar?
¿Cuál es la mejor manera de rendimiento para agregar una palabra en una matriz ordenada? ¿Y por qué es la mejor manera de hacerlo?