Тёмный

El ALGORITMO de Búsqueda que todo desarrollador DEBERÍA CONOCER 

BettaTech
Подписаться 237 тыс.
Просмотров 73 тыс.
50% 1

👉🏻 Obtén 7 días de trial y 25$ de crédito en UpCloud
👉🏻 upcloud.com/signup/?promo=bet...
La BUSQUEDA BINARIA es uno de los algoritmos más eficientes para realizar búsquedas rápidas en vectores y arrays... Aprende como usarlo!
👾 Redes sociales 👾
► Twitter: / bettatech
► Instagram: / betta_tech
► Canal Secundario: / @forkdebettatech
► Slack: bit.ly/33gaDDM
👨🏼‍🏫 MIS CURSOS 👨🏼‍🏫
👽 Curso de iniciación a la programación con JavaScript:
► bit.ly/3kr4bTc
👕 MERCHANDISING DEL CANAL:
► Tienda RU-vid: / bettatech
► Tienda Teespring: teespring.com/stores/bettatec...
⭐️ AFILIADOS ⭐️
🎁 7% Descuento en HOSTINGER (Código BETTATECH)
► www.hostg.xyz/aff_c?offer_id=...
🧠 Autocompletado con IA (Kite)
► www.kite.com/get-kite/?...
🐾 MacPaw (CleanMyMacX):
► macpaw.audw.net/c/2523912/941...
🎵 TODA la música es de EpidemicSound:
► www.epidemicsound.com/referra...
✉️ CONTACTO PROFESIONAL:
► Respuesta no garantizada:
bettatechyt@gmail.com
📚 LIBROS 📚
Design Patterns
► amzn.to/39XuQlq
Head First Design Patterns
► amzn.to/2uq6XUq
Refactoring
► amzn.to/2SQnf2c
Clean Architecture
► amzn.to/3bZVonJ
Clean Code
► amzn.to/32WVKq3
Introduction to Algorithms
► amzn.to/34SyVFP
Cracking the Coding Interview
► amzn.to/2QkdwC6
Índice:
Teoría 00:00
Anuncio 05:33
Empieza el código 06:00
Versión recursiva 08:15
Versión iterativa 13:55

Наука

Опубликовано:

 

23 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 180   
@BettaTech
@BettaTech 4 года назад
Este vídeo es la versión con el código arreglado! Disculpad las molestias y el error del anterior video! El codigo esta disponible en el siguiente repositorio: github.com/martincrb/binary-search-implementation
@martinlopez4359
@martinlopez4359 3 года назад
no vi los comentarios y me fui a escribir el codigo xd, a veces les agrego un time o chrono para ver que tal van de tiempo. Hay modos (herramientas, plugins) aparte de esos para ver qué tan rápido se compila y ejecuta el programa? (soy novato asi que no se que tan noob es la pregunta) excelente canal y excelentes aportes tocayo!
@ivancamposwainer8971
@ivancamposwainer8971 10 месяцев назад
sos un capo... estaba pasando un momento oscuro en mi vida universitaria, habia un algoritmo que no podia entender ni resolver: estaba triste y frustrado, perdido diambulando por los pasillos de mi universidad. hasta que vi tu video. realmente me ayudaste a superar una etapa oscura en mi vida, me hiciste crecer profesionalmente. deberian llamarte el mesias de los algoritmos. gracias por tanto. cuando neceistes un amigo... aca estare siempre. saludos.
@allker1192
@allker1192 2 месяца назад
y que algoritmo era?
@willbackslash
@willbackslash 3 года назад
Ojalá así me hubieran explicado en la universidad, muy fácil de entender
@BettaTech
@BettaTech 3 года назад
Gracias!
@maxidemarchi3832
@maxidemarchi3832 3 года назад
Tu explicación me volvió a motivar a seguir estudiando programación, algo que me habían sacado los profes de este cuatrimestre. Gracias.
@creepermanpro
@creepermanpro 4 года назад
siempre me pregunto que demonios hago en la universidad, si mi universidad fue y será youtube, stackoverflow, y la experimentación al momento de programar, excelente video amigo.
@Lordcarlox
@Lordcarlox 4 года назад
Es cómico porque yo en un momento me hice la misma pregunta, lo único que me ofrecía la institución eran exámenes, el conocimiento lo recopilaba yo de stackoverflow. El contenido teórico que ofrecían los cursos universitarios estaban desactualizados por un par de años.
@creepermanpro
@creepermanpro 4 года назад
@@Lordcarlox a estas alturas sólo terminaré la carrera por el titulo solamente, aunque no todo es pérdida, la matemática que me enseñaron la universidad me ha servido bastante.
@alexitox1993
@alexitox1993 4 года назад
creo que es un error, simplificar las carreras de este ámbito en una universidad al mero hecho de programar o de hacer algoritmos, a mi la universidad me ayudo mucho con la parte analítica, la lógica y también a las metodologías para afrontar proyectos, por ejemplo, el como saber levantar información de un escenario en la vida real, o realizar "entregables" (documentación) y muchas otras cosas. Claro, estoy de acuerdo que los pensum universitarios a veces están un pelo por detrás de lo más actual, pero no se puede comparar con un stack overflow o you tube, son cosas totalmente distintas y ambas perfectamente son complementarias. Saludos
@creepermanpro
@creepermanpro 4 года назад
@@alexitox1993 Pero hay una gran diferencia, si tu universidad te enseñó todo eso, es porque esa universidad es buena y funciona, yo en cambio estudio en un país donde abunda la corrupción a niveles tan altos que los profesores ganan menos de un centavo de dólar por hora.
@jcsp23
@jcsp23 4 года назад
si vas a picar codigo como miles de autodidactas te sirve el youtube, si quieres ser profesional no te sirve youtube.
@djoriel4028
@djoriel4028 3 года назад
Increible! Te pasaste! Me recomendaron este canal para ir adquiriendo experiencia en programacion, y te juro explicas super bien y aplicable a varios lenguajes, ya que en si la logica es la misma, solo la estructuras segun el lenguaje. Un 10 estimado!
@maxicortes3778
@maxicortes3778 4 года назад
Que paciencia y dedicación para explicar estos temas tenes!
@PositronQ
@PositronQ 4 года назад
Yo también hice algo similar pero con valores de un e-commerce y la búsqueda tenía que encontrar en la list el valor más óptimo haciendo fórmulas para encontrar valores y que me de el valor faltante que estaba puesto en mensajes, era como un ML
@marcoedwin5185
@marcoedwin5185 4 года назад
Excelente video Martin! justo estoy estudiando algoritmos de busqueda en la universidad, y por lo que vi tambien se le llama busqueda dicotomica a este en particular. Con tu video queda clarisimo, segui asi. Saludos desde Argentina.
@MaruleteVieneelBurroytelaMete
@MaruleteVieneelBurroytelaMete 3 года назад
Amigo apenas descubrí tu canal, si hubiera tenido un profesor como tu en programación estructurada no habría sufrido tanto en la carrera jaja. Buen vídeo y un saludo.
@joseleobardoojedaborges2699
@joseleobardoojedaborges2699 3 года назад
magnífica explicación, sin dejar ningún detalle sin comentar! Felicidades
@juanpablocanepaalvarez9607
@juanpablocanepaalvarez9607 4 года назад
Me gusto mucho este algoritmo, simple y potente. La explicación también excelente.
@erikomarmontescastro100
@erikomarmontescastro100 2 года назад
Gracias por tu video amigo, solo creo que olvidaste mencionar un dato importante, que descubrí cuando programé el algoritmo. Este dato faltante es que cuando calculamos el punto mid, si el resultado es una fracción por ejemplo 3.5 o 0.5 debemos de redondear ese valor hacia arriba, es decir, a su entero superior; para el ejemplo que puse significa que ese 3.5 se debe redondear a 4 y ese 0.5 se debe de redondear a 1. Es importante hacerlo porque si no, el algoritmo no funcionará siempre. Nota: Tambien puedes redondear hacia abajo pero eso implicaria mas cosas por hacer, lo mas facil es redondear hacia arriba. Pero estoy muy agradecido con tu explicacion Amigo me sirvió mucho. Gracias
@erikomarmontescastro100
@erikomarmontescastro100 2 года назад
Este es el pedacito de codigo que use para redondear hacia arriba, yo lo hice en lenguaje c# double midDouble = Math.Ceiling( left + (right - left) / 2 ); int mid = Convert.ToInt32(midDouble);
@brunopadin4905
@brunopadin4905 4 года назад
Muy bueno el ejemplo del libro. En la universidad (Algoritmos y estructuras de datos) me lo enseñaron como "Búsqueda burbuja".
@juanjoseromerohernandez7573
@juanjoseromerohernandez7573 3 года назад
Excelente explicación, ya estoy suscrito al canal, espero que puedas subir mas videos de análisis del algoritmos.
@carlosernestorochavalenzue5655
@carlosernestorochavalenzue5655 3 года назад
Wow en poco mas de 16 minutos me has dejado claro muchas cosas sobre el Binary Search, gracias!!
@BettaTech
@BettaTech 3 года назад
Con gusto! Gracias a ti por verme :)
@baldomero7458
@baldomero7458 4 года назад
Buen video, y muchas gracias. Realmente aprendo cosas nuevas en tu canal. 👍
@mafeo3
@mafeo3 4 года назад
Me encantan tus videos, espero mucho más contenido como esté.
@santiagocascolucero2024
@santiagocascolucero2024 3 года назад
Tambien se puede utilizar la busqueda binaria para una busqueda en archivos, que si bien no son vectores, podemos abstraernos de eso para poder tratar un grupo de registros como si fueran indices de un vector (por lo menos en c)
@rush2112chile
@rush2112chile 3 года назад
Amigo soy suscriptor nuevo y te felicito, es un excelente canal, tienes sólo contenido de calidad. Meceres muchos más suscriptores.Saludos de chile!
@jldcruz
@jldcruz 3 года назад
Buen video, para complementar puedo indicar que la busqueda binaria ya viene implementada en C++, en los contenedores std:map y std:set, vía el método find.
@LuisFernando-tp6vm
@LuisFernando-tp6vm 4 года назад
Para adaptarlo a JS tuve que colocar un Math.roud() en el calculo de mid para que me funcionara, no se si en c++ se redondea por defecto, muchas gracias por el video.
@guillermonoemax
@guillermonoemax 4 года назад
Por favor has uno sobre como anotar y resolver algunos problema como condicionales, for, funcion dentro de otra funcion, si retornar es una operacion, etc. Muy buenos videos sigue asi
@sebastianangulo7957
@sebastianangulo7957 3 года назад
Me la pase una hora entendiendo este método pero con solo 5 minutos en tu vídeo entendí todo muchas gracias
@martinlopez4359
@martinlopez4359 3 года назад
excelente algoritmo, BÚSQUEDA BINARIA, tanto en la presentación recursiva como iterativa, siento que el planteamiento comparativo ayuda mucho en la comprensión además quedan implícitas las buenas prácticas al programar más algoritmos por favor
@danyrszz
@danyrszz 3 года назад
he estado viendo tus videos y no se por que aun no estaba suscrito, tu contenido es excelente!
@BettaTech
@BettaTech 3 года назад
Gracias!!!! 😍😍
@eryC96
@eryC96 3 года назад
Muy bien explicado Martín, gracias!
@BettaTech
@BettaTech 3 года назад
Gracias a ti!
@miguelangelhernandez1922
@miguelangelhernandez1922 3 года назад
Buen video, ameno, claro. Muchas gracias
@eLuars
@eLuars 3 года назад
Cada video mejor que el anterior, maestrazo
@charlinezequiel8259
@charlinezequiel8259 3 года назад
Bettatech, eres oro puuuuuro 🎉🎉🙌
@danielsanchezmartinez4637
@danielsanchezmartinez4637 3 года назад
Buenas, esta muy bueno el canal y tus videos... Felicitaciones... Puedes por favor recomendar libros sobre estos temas... De antemano gracias.
@marx7811
@marx7811 3 года назад
Que gran explicación. Excelente video :)
@luis96xd
@luis96xd 4 года назад
¡Excelente video, muy bien explicado! 😄😄
@jorgepalacio5091
@jorgepalacio5091 4 года назад
Gracias por tus explicaciones!
@Rebel94122
@Rebel94122 3 года назад
Es un canal bastante interesante, si alguna vez tengo la necesidad de programar en C, éste canal seria buena referencia.
@Colmedoherman
@Colmedoherman 4 года назад
Muy bien explicado Betta muchas gracias ! no lo habia visto usando recursividad ;)
@BettaTech
@BettaTech 4 года назад
Gracias! Me alegra que te haya parecido util!
@federicoalmada1220
@federicoalmada1220 4 года назад
Muy buen video como de costumbre, saludos desde Argentina
@BettaTech
@BettaTech 4 года назад
Gracias!!!
@ferna068
@ferna068 4 года назад
Excelente explicación !! 👍🏼👍🏼✌🏼
@jeysusmeister24
@jeysusmeister24 3 года назад
Saludos buen vídeo, quería preguntar si puedes explicar el algoritmo de la burbuja, el mismo se usa para ordenar arrays, aunque soy nuevo viendo tus vídeos y no sé si lo hiciste
@violetaeq1051
@violetaeq1051 3 года назад
me encantó la publicidad corta explícita concreta
@Johanncastellanos
@Johanncastellanos 4 года назад
Excelente vídeo. Gracias Crack
@trasmethrash
@trasmethrash 3 года назад
te ganaste otro suscriptor. Sigue así!
@billiekinimiranda3838
@billiekinimiranda3838 4 года назад
¡Te amo Bro! ❤️
@gabrielmoreno7482
@gabrielmoreno7482 3 года назад
Hola excelente vídeo !!, muchas gracias. tengo una duda y es si este algoritmo puede ser aplicado a objetos o a un archivo, agradecería su respuesta.
@frutoramirezjuanjose5930
@frutoramirezjuanjose5930 6 месяцев назад
Muy buena explicación, esta es la solución en Java: public class Solution { public Solution(){ // empty constructor } public static int binarySearch(int[] array, int target){ int iLeft = 0; int iRight = array.length - 1; while(iLeft target){ iRight = mid - 1; } else { iLeft = mid + 1; } } return -1; } }
@gabrielmoreno7482
@gabrielmoreno7482 3 года назад
Hola excelente video muchas gracias, una pregunta también este algoritmo podría usarse con objetos, supongamos tengo un arreglo de objetos dónde me interesa buscar en un atributo con valor de 100 si lo encuentra me retorne el objeto es posible esto?
@marcofernandovalarezoyagua8859
@marcofernandovalarezoyagua8859 2 года назад
Buen vídeo. Podrías hacer un video de como usar funciones con parámetros ??
@luisalberto1146
@luisalberto1146 3 года назад
Oye bro una duda, el método buscar de list de c# usa búsqueda binaria?
@edselcarvajal2047
@edselcarvajal2047 3 года назад
Bueno video!!! una duda, que procede cuando quieres buscar en un JSON Array datos que contengan un valor en especifico? se puede usar este algoritmo?
@EzequielRegaldo
@EzequielRegaldo 4 года назад
Es el que se usa en búsqueda con btree de postgresql no? Gracias por el aporte !
@germanr90
@germanr90 3 года назад
Hola. Viendo el video noto que en el primer ejemplo [4,1,3,5,2,6] no es aplicable la busqueda binaria, ya que cabe aclarar que esta busqueda sirve SOLO para arrays ordenados! Se podría ver algun algoritmo de ordenacion de paso o_O. Me gustaria que hagas un video sobre el algoritmo de backtracking vs greedy. Saludos!
@ws2893
@ws2893 3 года назад
Es correcto porque sino está ordenado tendrías que hacer un burbuja por ejemplo para ordenar los números y eso se resume en otra iteración y cambia el coste del algoritmo
@nikolam-dev
@nikolam-dev 4 года назад
Gracias betta, me encantan tus videos lindo UwU
@enrique27yt
@enrique27yt 3 года назад
Me emocione porque hiciste el algoritmo con C++ jaja
@javiechoPeru
@javiechoPeru 4 года назад
Una consulta Betta, y los árboles binarios hechos por listas enlazadas para ambos lados, ahí aprendí sobre la búsqueda binaria y no es un array al que se accedan por índices o si? 🤔
@neirotorofjnt
@neirotorofjnt 2 года назад
Betta Tech Gracias de nuevo
@michaellugoospina8932
@michaellugoospina8932 4 года назад
Busqueda sobre índices agrupados en bd.......... Buena extrapolación
@profesamiubbconcecl
@profesamiubbconcecl 3 года назад
No soy programador, pero esto me recuerda la demostración del método de la bisección, para encontrar la solución de una ecuación algebraica y la demostración del Teorema de Heine-Borel, para demostrar que toda sucesión en un intervalo cerrado, tiene una sub-sucesion convergente. Yo lo resumiría como, "cortar en dos y descartar". Me dieron ganas de volver programar, algo que no hago desde 1987.
@leandroarguello2244
@leandroarguello2244 3 года назад
este algoritmo solo sirve para hacer busquedas de datos de tipo numerico? y si quisiera hacer busquedas en otros tipos de datos en un arreglo pero no quiero hacer busqueda secuencial? Buen video
3 года назад
Hola BettaTech. ¿Podrías hacer un vídeo, o aún mejor una série, en la que enseñes los detalles y alcances de los diferentes tipos de testing? Desde unit testing, pasando por integration testing y functional testing. Creo que sería de gran ayuda para muchos desarrolladores :). Saludos.
@BettaTech
@BettaTech 3 года назад
Me parece una gran idea! Lo apunto, puede salir un video muy interesante 😁
@savehunters4873
@savehunters4873 3 года назад
Que tipo de letra usas en tu terminal?
@NormandoHall
@NormandoHall 3 года назад
Muy buen video. Una consulta. No sería más eficiente continuar la búsqueda partiendo a la mitad los sucesivos trozos en los que se halla el objetivo, en lugar de ir achicando de a un solo paso por vez? Sería mucho más eficiente en arreglos muy grandes, y dejar la aproximación paso a paso solo cuando el trozo que queda del arreglo por analizar sea inferior a X elementos. Muy buen canal! Saludos
@juanandresmolina9704
@juanandresmolina9704 4 года назад
Recuerda mucho a los métodos para resolver sistemas de ecuaciones lineales y no lineales.
@rockyminarro1715
@rockyminarro1715 4 года назад
Muy buen video
@erika9133
@erika9133 4 года назад
Excelente explicación. Cuál es el tema que usas para el terminal de mac?
@BettaTech
@BettaTech 4 года назад
Horizon!
@JonatanFajardo
@JonatanFajardo 3 года назад
Que podriamos hacer en el caso de que nuestro Array no este ordenado? cual seria la mejor solucion?
@TomasPlz
@TomasPlz 3 года назад
ECSELENTE VIDIO
@mariocortez25
@mariocortez25 3 года назад
Esto si es algoritmia de verdad
@kan1358
@kan1358 3 года назад
Hola hermano Buenas tardes excelente video Me encantó puedo hacerte una consulta yo tenía una duda de que si también se podría crear un algoritmo de búsqueda avanzada en internet es decir como el Buscador de Google que tiene La Barrita que si uno pone algo te lo va a buscar en Google Bueno hacer algo asi se puede?? crear un buscador y que ese buscador busque a travez de internet me explico🤔
@paulino_acuna
@paulino_acuna 4 года назад
El coste de implementar está búsqueda binaria comparado con un BST (arbol binario búsqueda con listas enlazadas) es el mismo?
@jldcruz
@jldcruz 3 года назад
Si el vector esta ordenado si tendrian la misma complejidad O(log(n)). Mientras que si se hace a partir de un vector desordenado primero hay que ordenarlo y luego hacer la busqueda binaria, teniendo este caso mayor coste. Por eso las busquedas binarias estandarizadas se hacen con arboles binarios, que garantiza el ordenamiento de elementos, en vez de vectores que no aseguran el ordenamiento.
@Heimaster
@Heimaster 3 года назад
Para un vector que no esta ordenado cual seria el algoritmo apropiado? sin tener que ordenar el vector y luego aplicar este algoritmo.
@BettaTech
@BettaTech 3 года назад
Si no tienes información previa de algun tipo, siempre sera coste lineal. Es decir, recorrer el vector entero buscando tu item
@angiega
@angiega 2 года назад
Por qué el tamaño del vector es la longitud del vector / por el elemento 0 ? Que pasa si el vector ordenado empieza por 20 y sus elementos no son secuenciales ?
@esausalvadorrangelfranco5931
@esausalvadorrangelfranco5931 2 года назад
Este algoritmo es eficiente como buscar en un árbol binario? Excelente explicación, me ayudas mucho con tus videos Gracias.
@BettaTech
@BettaTech 2 года назад
Tiene el mismo coste que buscar en un arbol binario (caso medio O(logN)). Si te fijas en como compara, es como recorrer un arbol binario
@maxbarcon
@maxbarcon 4 года назад
Hola Betta, tengo una pregunta tonta, no entiendo porque para calcular el mid point usas left + (right - left) / 2 en vez de (right + left) / 2
@flamekasai7211
@flamekasai7211 4 года назад
Yo creo que es más por legibilidad, es mucho más fácil de leer, left ( donde empezamos ) más la mitad. Pero realmente son lo mismo.
@BettaTech
@BettaTech 4 года назад
El resultado es el mismo, pero sumar right y left puede llevarte a un overflow si el tamaño del array esta cerca del limite de tamaño que cabe en un int, por lo que usas esa formula para evitar que se calcule un numero mas grande que right
@maxbarcon
@maxbarcon 4 года назад
Ooh que inteligente, muchas gracias!
@PositronQ
@PositronQ 4 года назад
BettaTech claro y es lógico porque eso mismo lo pones en el if
@neyk
@neyk Год назад
Hola Betta Tech! ¿Este algoritmo también es aplicable a strings o existen algoritmos más eficientes para ello?
@agustinm_793
@agustinm_793 4 года назад
Resubido? Bueno igual vuelvo a dejar mi like. Buen video!
@BettaTech
@BettaTech 4 года назад
Si, he reparado la parte del código que estaba mal para evitar confusiones!
@agustinm_793
@agustinm_793 4 года назад
@@BettaTech gracias! Por cierto, es pero que algun dia subas algo de los patrones Builder y Template method, son muy interesantes. Saludos!
@robertoacosta5542
@robertoacosta5542 Год назад
hola, estoy buscando como hacer un algoritmo de búsqueda que mediante palabras clave pueda encontrar toda la información relacionada,como se le llamaría a eso_
@davidCoD10
@davidCoD10 3 года назад
de locos eso de la recursividad y la paranoia esa de vectore parece que estoy en matematicas de 4 de la eso con inma antekera
@carlosfabricio3550
@carlosfabricio3550 4 года назад
De primera impresión me parece similar a los index utilizados en Mongo
@frikinauta
@frikinauta 4 года назад
Muy buen video 👏👏, ¿Que teclado es el que aparece en el vídeo?
@wilmerterrero
@wilmerterrero 4 года назад
Me gustaria saber, se ve bien cool
@adrianherrera6214
@adrianherrera6214 4 года назад
Creo es un teclado 60%, hay varios parecidos al que se ve en el directo. Podira ser un ck62 o un anne pro 2.
@BettaTech
@BettaTech 4 года назад
Es un Vortex pok3r :P
@neyk
@neyk Год назад
Ostras… me acabo de dar cuenta de que este algoritmo es superparecido al Teorema de Bolzano en matemáticas. Sin darme cuenta programé un algoritmo de búsqueda binaria cuando hice un programa que resolvía ecuaciones usando Bolzano JAJAJJAJ
@jorgefranciscodejesusvalen3672
@jorgefranciscodejesusvalen3672 3 года назад
pero en el primer arrai no habia orden, de menos a mayor como lo seria en las paginas de un libro.
@mishabytes8209
@mishabytes8209 3 года назад
La pregunta es como aplicar esto en una matriz tridimensional
@joshy56
@joshy56 4 года назад
Hola betta, tengo una duda, la búsqueda binaria también sirve para objetos que no sean integers?
@PositronQ
@PositronQ 4 года назад
joshy23 si ósea mientras está en una lista
@joshy56
@joshy56 4 года назад
@@PositronQ claro, eso ya lo sé, pero este método a simple vista parece que solo funcionase con integers
@paulino_acuna
@paulino_acuna 4 года назад
Claro, haces un Array de objetos, y sobreescibes el método de comparación del objeto
@joshy56
@joshy56 4 года назад
@@paulino_acuna Claro, eso pensé pero en ese caso el objeto tendría que tener un atributo numérico para poder compararlos
@BettaTech
@BettaTech 4 года назад
Lo importante es que sean objetos ordenables!
@farleyloaiza1273
@farleyloaiza1273 4 года назад
Está muy bien el ejercicio, podría añadirsele un timer de ejecución a cada búsqueda y poder ver los tiempos de ejecución para cada resultado 👍
@adrianizquierdoabril1493
@adrianizquierdoabril1493 3 года назад
No termino de comprender cómo calcula la mitad, ¿ no sería (izq+der)/2 ? Buen vídeo, saludos
@berru93
@berru93 3 года назад
Fíjate en la forma recursiva. Después de la primera iteracion (en la que left es igual a 0), el subarray que comprueba después no empieza por 0, sino por mid + 1. Necesitas tener el offset (o el punto de origen del subarray) para poder calcular el punto medio del subarray, respecto al array original.
@josueisaacdominguezrincon9357
y en caso de que no estén ordenados?
@BettaTech
@BettaTech Год назад
En ese caso la búsqueda binaria no sirve, tendrías que buscar en el array completo y tendria coste lineal =(
@CESAR365
@CESAR365 3 года назад
Cual es el lenguaje de programación usado en este video ?
@felipedelgado160
@felipedelgado160 3 года назад
C++
@erickjhormanromero6905
@erickjhormanromero6905 4 года назад
Que lenguaje usas?
@williamgonzalezcobo9095
@williamgonzalezcobo9095 4 года назад
C++, se sabe por la extensión .cpp
@lacasadeacero
@lacasadeacero 3 года назад
Es en termino simples para mi, el metodo de biseccion.
@gerardhello2581
@gerardhello2581 3 года назад
En donde esta programando? C++?
@felipedelgado160
@felipedelgado160 3 года назад
neovim, es un IDE para la consola
@julianandres4193
@julianandres4193 3 года назад
No se si sea una pregunta muy tonta .. pero a que te refieres con costes?? Es Plata?? Espacio en memoria ?? Tiempo en hacer el algoritmo?? Todo?? No se ... me confundo cuando dices costes .
@jorgecortinas9490
@jorgecortinas9490 3 года назад
así que se llamaba búsqueda binaria, yo lo estuve haciendo desde hace un tiempo sin saber que era un método
@franconoce1728
@franconoce1728 2 года назад
El algoritmo es completamente funcional, similar a los arboles binarios, pero sirve solo para arrays ordenados
@ivanalcalde1780
@ivanalcalde1780 4 года назад
tengo una duda, mas de una vez, mis profesores de la carrera me han dicho que dentro de una misma función no puede haber mas de un return, y me tiraron por tierra un trabajo por ponerlos. ¿Por qué dicen que no se deben poner? o, ¿están ellos equivocados por decir eso y es una estupidez? gracias de antemano y muy buen video :D
@robertoacosta5542
@robertoacosta5542 Год назад
estas diciendo q te dijeron q estas raspado por ejemplo tienes un if en el if pones un return y en el else otro_
@ivanalcalde1780
@ivanalcalde1780 Год назад
@@robertoacosta5542 efectivamente si
@meakeuser
@meakeuser 3 года назад
En FullHD se le ocurrio andar a la camara
@ElectroTallerBergali
@ElectroTallerBergali 3 года назад
Ese algoritmo no se llama quickshort?
@gabrielarana8939
@gabrielarana8939 3 года назад
No, quicksort es un algoritmo de ordenamiento, este que expone el vídeo es un algoritmo de búsqueda
@ElectroTallerBergali
@ElectroTallerBergali 3 года назад
@@gabrielarana8939 ok, pero vamos que este pertenece al quicksort, ya que para ordenar tambien hay que hacer la misma busqueda, solo que ademas se van moviendo los datos.
@ysaijaviercondorivelez9170
@ysaijaviercondorivelez9170 3 года назад
porque simplemente no hacemos: int mid = (left + right)/2; en ves de: int mid = left + (right - left)/2;
@BettaTech
@BettaTech 3 года назад
Porque para arrays muy muy grandes, left + right puede provocar overflow, en cambio con la segunda formula tienes siempre valores dentro de margen
@ysaijaviercondorivelez9170
@ysaijaviercondorivelez9170 3 года назад
@@BettaTech Muchas gracias por aclarar mi duda, lo cierto es que aun soy un novato. Like y me suscribo.
@MGaliciaa
@MGaliciaa 4 года назад
Betta, me puedes responder a un email que te envié al correo que tienes en instagram hace una semana?
@BettaTech
@BettaTech 4 года назад
Perdon! Aun no he leido los mails, voy con bastante retraso a correos y mensajes de instagram 😓 Me intentare poner al dia en poco tiempo!
@TheGalox99
@TheGalox99 3 года назад
En python todo esto se puede hacer con un simple "if x in array: print( array.index(x))"
@isaacbenavides111
@isaacbenavides111 3 года назад
en realidad XD
@BettaTech
@BettaTech 3 года назад
Desconozco como esta implementado el metodo index, pero si lo que hace es una busqueda para encontrar la primera aparicion, hacer eso tiene coste O(n), aunque sea una sola linea. Otro tema es si ese metodo o el array de python indexan en un hash cada valor del array con sus posiciones, que nose si es el caso o no
@TheGalox99
@TheGalox99 3 года назад
@@BettaTech LA verdad es que tampoco sé como esta implementado, de hecho llevo con Phyton apenas unas semanas y antes de esto solo había programado en Arduino. Por lo que en general sé poco HAHAHAHA. El caso es que para comprobar si es cuadrática, o no, he creado un array con valores del 1 al 10.000 y he usando la línea que he puesto en mi anterior comentario (realmente son 2 líneas por eso de mantener un orden en el código) y nos da el resultado de forma inmediata, por lo que deduzco que no tiene un coste cuadrático. Me equivoco?
@BettaTech
@BettaTech 3 года назад
@@TheGalox99 Tendrias que mirar como se degrada conforme aumentas el tamaño del array (100, 1000, 10000, 100000, 1000000 de elementos... etc) y mirar la grafica y ver la forma que tiene haha
@TheGalox99
@TheGalox99 3 года назад
@@BettaTech la cosa es que es literalmente instantaneo, he subido hasta 100000000 y sigue siendo instantaneo y si pongo un 0 más me da error de memoria.
@eduardo-cat
@eduardo-cat 4 года назад
Buena explicación y lógica pero no es binaria, es balanceada, como en la estructura btree
@BettaTech
@BettaTech 4 года назад
Es el nombre del algoritmo, aunque tiene varios nombres: In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array.
Далее
Algoritmos BFS y DFS (Recorridos en Grafos)
9:37
Просмотров 49 тыс.
Si usas TYPESCRIPT, DEBERÍAS tener MENOS TESTS
14:36
Patrón de diseño: Estrategia/Strategy en JavaScript
6:34
5 COSAS que QUERRÍA haber APRENDIDO
11:37
Просмотров 23 тыс.
No busques elementos en un Array!
5:40
Просмотров 169 тыс.
iPhone, Galaxy или Pixel? 😎
0:16
Просмотров 1 млн