Falta datos. por ejemplo solo miras si es igual al final. por un lao lo entiendo pero por otro lado me da que se puede escapar si cae justo en el [i] o en el [d]. y luego como evitas que se cruzen los limites [i] y [d]?
@@drynshock1 A que te refieres? Si vas a usar búsqueda binaria es porque sabes lo que necesitas buscar. Por ejemplo puedes crear el código de la búsqueda binaria y puedes poner una condicional de que si no encuentra ningún resultado en el array, no arroje ningún valor, es decir, la búsqueda binaria tambien sirve como filtro de búsqueda.
Un ejemplo interesante es en base de datos, donde quieres buscar en una lista de datos ordenados por id, ya que la base de datos te ordena los datos por id, entonces ahí sería super valido y facil
si coincide el primer valor medio y los extremos de este también coinciden que hacemos? Ej Buscamos clave=15 ¿número de iteraciones?: 0(1) 1(8) 2(10) 3(11) 4(15) 5(15) 6(15) 7(15) 8(17) 9(29) 10(31) 11(31) 12(40)
gracias me sirvio para un ejercicio de hackerran que lo tenia bien pero se demoraba mucho que lo daba por fallado, era un array de 200k
Falta datos. por ejemplo solo miras si es igual al final. por un lao lo entiendo pero por otro lado me da que se puede escapar si cae justo en el [i] o en el [d]. y luego como evitas que se cruzen los limites [i] y [d]?
gracias, me ayudaste para entender una tarea :)
La cuestión es que si el array de números no estuviera ordenado, ya no funcionaría la búsqueda binaria
Por eso antes de aplicar la búsqueda binaria en tu función debes agregar un algoritmo que ordene el arreglo.
@@freeman-vo6ft Pero que pasa si no sabemos los valores que estamos buscando?
Usar otro algoritmo@@drynshock1
@@drynshock1 A que te refieres? Si vas a usar búsqueda binaria es porque sabes lo que necesitas buscar. Por ejemplo puedes crear el código de la búsqueda binaria y puedes poner una condicional de que si no encuentra ningún resultado en el array, no arroje ningún valor, es decir, la búsqueda binaria tambien sirve como filtro de búsqueda.
Un ejemplo interesante es en base de datos, donde quieres buscar en una lista de datos ordenados por id, ya que la base de datos te ordena los datos por id, entonces ahí sería super valido y facil
Pero si hago i o j =m-1, y justo en esa podicion j esta el elemento que quiero encontrar que pasaría?
si coincide el primer valor medio y los extremos de este también coinciden que hacemos?
Ej Buscamos clave=15 ¿número de iteraciones?: 0(1) 1(8) 2(10) 3(11) 4(15) 5(15) 6(15) 7(15) 8(17) 9(29) 10(31) 11(31) 12(40)