Algoritmo Búsqueda Binaria (Javascript)

Busqueda Binaria

Este algoritmo agiliza la búsqueda individual de un ítem en una lista. Esto nos ahorra el no tener que recorrer cada item de una una lista completa con un foreach hasta encontrar el ítem deseado.

La función va tomando siempre la posición central de una lista. Luego se re ubica hacia la derecha o izquierda según sea el valor a buscar mayor o menor que el valor central de la iteración.

Para más información acerca de este algoritmo consulta esta página.

app.hacerBusquedaBinaria = function (data, id_item_list_selected)
{
var lista = data;
var indiceABuscar = id_item_list_selected;
var tamLista = (lista.length – 1);

    var posInf = 0, posCentral, posSup = tamLista;
var contar = 1;

while(posInf <= posSup)
{
posCentral = parseInt( (posSup + posInf)/2 );

// Control interno
console.log(‘inter[‘ + contar + ‘] – Posicion central: ‘ + posCentral);

if (posCentral == indiceABuscar) {
return posCentral;
} else if (indiceABuscar < posCentral ){

posSup = posCentral – 1; // redefine el limite superior
}
else {
posInf = posCentral + 1; // redefine el limite inferior
}

contar++;
}

return -1;
}

Tagged with: , , ,
Publicado en JavaScript

Deja un comentario... o reprobas!

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: