Pesquisa Binária de Javascript / Desempenho de Inserção
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);
}
}
Eu estou fazendo uma lista grande de palavras no formato de uma matriz:
por exemplo.["a","ab","abc","b"]
Em ordem alfabética. O problema que estou tendo é modificar meu algoritmo de busca binária para adicionar a palavra no lugar correto e depois atualizar?
Qual é a melhor maneira de desempenho para adicionar uma palavra em uma matriz ordenada? E por que é a melhor maneira de fazer isso?