En el peor caso, la busqueda en un erreglo de 1024 elementos solo se llevaras 10 comparaciones mediante la busqueda binaria. La division repetida de 124 entre 2 (dado que tras cada comparacion se puede descartar lamitad del arreglo) nos da los valores 512, 256, 128, 64, 32, 16, 8, 4, 2 y 1. La division entre 2 es quivalente a una comparacion en el algoritmo de busqueda binaria.
El siguiente ejemplo presenta la version iterativa de la funcion (bynarySearch). La funcion recibe cuatro argumentos: un arreglo "b", un entero "searchKey", el subindice "low" del arreglo y el subindice "high" del arreglo. Si la clave de busqueda no es igual al elemento de la mitad de un subarreglo, se ajusta el subindice "low" o "high" para poder hacer la busqueda en un subarreglo mas pequeño. Si la clave de busqueda es menor que el elemento central, el subindice "high" se establece a "middle-1" y se continua la busqueda en los elementos de "low a middle - 1.Si la clave de busqueda es mayor que el elemento centra, el subindice "low" se establece a "middle+ 1" y se continua la busqueda en los elementos de "middle + 1" a "high". El programa emplea un arreglo de 15 elementos. La primera potencia de 2 mayor que la cantidad de elementos de este arreglo es 16(2 ºexponente 4), por loque se necesita un maximo de cuatro comparaciones para encontrar la clave de busqueda. La funcion "printHeader" envia a la salida los subindices del arreglo y la funcion "printRow" envia a la salida cada subarreglo generado durante el proceso de busqueda binaria. El elemento central de cada subarreglo se marca con un asterisco(*), para indicar el elemento con el que se compara la clave de busqueda.
para C++ seria asi:foto + grande
para C# seria asi:foto + grande
5 comentarios:
Hola como estas , te pido un gran favor como aprendiz de desarrollo en c# , podrias enviar este codigo que esta muy interesante para poder estudiarlo mejor mi correo es anarchy9902@gmail.com , muchas gracias
Hola como estas , te pido un gran favor como aprendiz de desarrollo en c# , podrias enviar este codigo que esta muy interesante para poder estudiarlo mejor mi correo es anarchy9902@gmail.com , muchas gracias
hola estoy realizando untrabajo sobre busqueda binaria me podrias pproporcinarl el codigo
me serviria de gran ayuada
mi correo es espacio_ometepec@hotmail.com
te lo agradecere
aca te dejo...
el link donde tienes a tu disposicion el codigo
para
C++
http://picasaweb.google.com/andymartinez00/CCConsolaCForWindows#5328395240277438562
para C#
http://picasaweb.google.com/andymartinez00/CCConsolaCForWindows#5328395240277438562
haz clik donde dice foto + grande...
gracias e sirvio d egrana ayudaaaa
ehhh
Publicar un comentario