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

Поділитися
Вставка
  • Опубліковано 11 лип 2024
  • 👉🏻 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 UA-cam: / 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
  • Наука та технологія

КОМЕНТАРІ • 180

  • @BettaTech
    @BettaTech  4 роки тому +44

    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 місяців тому +3

    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 роки тому +32

    Ojalá así me hubieran explicado en la universidad, muy fácil de entender

  • @maxidemarchi3832
    @maxidemarchi3832 3 роки тому +9

    Tu explicación me volvió a motivar a seguir estudiando programación, algo que me habían sacado los profes de este cuatrimestre. Gracias.

  • @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!

  • @creepermanpro
    @creepermanpro 4 роки тому +92

    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 роки тому +3

      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 роки тому +8

      @@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 роки тому +7

      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 роки тому +5

      @@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 роки тому +5

      si vas a picar codigo como miles de autodidactas te sirve el youtube,
      si quieres ser profesional no te sirve youtube.

  • @maxicortes3778
    @maxicortes3778 4 роки тому +3

    Que paciencia y dedicación para explicar estos temas tenes!

  • @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.

  • @joseleobardoojedaborges2699
    @joseleobardoojedaborges2699 3 роки тому

    magnífica explicación, sin dejar ningún detalle sin comentar! Felicidades

  • @mafeo3
    @mafeo3 4 роки тому

    Me encantan tus videos, espero mucho más contenido como esté.

  • @juanpablocanepaalvarez9607
    @juanpablocanepaalvarez9607 4 роки тому +1

    Me gusto mucho este algoritmo, simple y potente. La explicación también excelente.

  • @baldomero7458
    @baldomero7458 4 роки тому

    Buen video, y muchas gracias. Realmente aprendo cosas nuevas en tu canal. 👍

  • @juanjoseromerohernandez7573
    @juanjoseromerohernandez7573 3 роки тому

    Excelente explicación, ya estoy suscrito al canal, espero que puedas subir mas videos de análisis del algoritmos.

  • @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!

  • @PositronQ
    @PositronQ 4 роки тому +5

    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

  • @MaruleteVieneelBurroytelaMete
    @MaruleteVieneelBurroytelaMete 3 роки тому +1

    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.

  • @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".

  • @miguelangelhernandez1922
    @miguelangelhernandez1922 3 роки тому

    Buen video, ameno, claro. Muchas gracias

  • @luis96xd
    @luis96xd 4 роки тому

    ¡Excelente video, muy bien explicado! 😄😄

  • @santiagocascolucero2024
    @santiagocascolucero2024 3 роки тому +1

    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)

  • @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

  • @marx7811
    @marx7811 3 роки тому

    Que gran explicación. Excelente video :)

  • @eLuars
    @eLuars 3 роки тому

    Cada video mejor que el anterior, maestrazo

  • @jorgepalacio5091
    @jorgepalacio5091 4 роки тому

    Gracias por tus explicaciones!

  • @ferna068
    @ferna068 4 роки тому

    Excelente explicación !! 👍🏼👍🏼✌🏼

  • @jldcruz
    @jldcruz 3 роки тому +1

    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.

  • @danielsanchezmartinez4637
    @danielsanchezmartinez4637 3 роки тому

    Buenas, esta muy bueno el canal y tus videos... Felicitaciones...
    Puedes por favor recomendar libros sobre estos temas... De antemano gracias.

  • @Johanncastellanos
    @Johanncastellanos 4 роки тому

    Excelente vídeo. Gracias Crack

  • @charlinezequiel8259
    @charlinezequiel8259 3 роки тому

    Bettatech, eres oro puuuuuro 🎉🎉🙌

  • @carlosernestorochavalenzue5655
    @carlosernestorochavalenzue5655 3 роки тому +1

    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 :)

  • @danyrszz
    @danyrszz 3 роки тому

    he estado viendo tus videos y no se por que aun no estaba suscrito, tu contenido es excelente!

  • @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

  • @trasmethrash
    @trasmethrash 3 роки тому

    te ganaste otro suscriptor. Sigue así!

  • @erikomarmontescastro100
    @erikomarmontescastro100 2 роки тому +4

    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 роки тому +3

      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);

  • @eryC96
    @eryC96 3 роки тому +1

    Muy bien explicado Martín, gracias!

  • @violetaeq1051
    @violetaeq1051 3 роки тому

    me encantó la publicidad corta explícita concreta

  • @Rebel94122
    @Rebel94122 3 роки тому

    Es un canal bastante interesante, si alguna vez tengo la necesidad de programar en C, éste canal seria buena referencia.

  • @federicoalmada1220
    @federicoalmada1220 4 роки тому +1

    Muy buen video como de costumbre, saludos desde Argentina

  • @LuisFernando-tp6vm
    @LuisFernando-tp6vm 4 роки тому +3

    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.

  • @Colmedoherman
    @Colmedoherman 4 роки тому

    Muy bien explicado Betta muchas gracias ! no lo habia visto usando recursividad ;)

    • @BettaTech
      @BettaTech  4 роки тому +1

      Gracias! Me alegra que te haya parecido util!

  • @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

  • @billiekinimiranda3838
    @billiekinimiranda3838 4 роки тому

    ¡Te amo Bro! ❤️

  • @marcofernandovalarezoyagua8859
    @marcofernandovalarezoyagua8859 2 роки тому

    Buen vídeo. Podrías hacer un video de como usar funciones con parámetros ??

  • @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.

  • @neirotorofjnt
    @neirotorofjnt 2 роки тому

    Betta Tech Gracias de nuevo

  • @enrique27yt
    @enrique27yt 3 роки тому +1

    Me emocione porque hiciste el algoritmo con C++ jaja

  • @nikolam-dev
    @nikolam-dev 4 роки тому

    Gracias betta, me encantan tus videos lindo UwU

  • @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?

  • @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?

  • @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

  • @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

  • @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.

  • @TomasPlz
    @TomasPlz 3 роки тому

    ECSELENTE VIDIO

  • @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? 🤔

  • @juanandresmolina9704
    @juanandresmolina9704 4 роки тому

    Recuerda mucho a los métodos para resolver sistemas de ecuaciones lineales y no lineales.

  • @michaellugoospina8932
    @michaellugoospina8932 4 роки тому +2

    Busqueda sobre índices agrupados en bd.......... Buena extrapolación

  • @frutoramirezjuanjose5930
    @frutoramirezjuanjose5930 5 місяців тому

    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;
    }
    }

  • @EzequielRegaldo
    @EzequielRegaldo 4 роки тому

    Es el que se usa en búsqueda con btree de postgresql no? Gracias por el aporte !

  • @rockyminarro1715
    @rockyminarro1715 4 роки тому

    Muy buen video

  • @savehunters4873
    @savehunters4873 3 роки тому

    Que tipo de letra usas en tu terminal?

  • @germanr90
    @germanr90 3 роки тому +2

    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

  •  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 роки тому +1

      Me parece una gran idea! Lo apunto, puede salir un video muy interesante 😁

  • @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🤔

  • @JonatanFajardo
    @JonatanFajardo 3 роки тому

    Que podriamos hacer en el caso de que nuestro Array no este ordenado?
    cual seria la mejor solucion?

  • @mariocortez25
    @mariocortez25 3 роки тому

    Esto si es algoritmia de verdad

  • @erika9133
    @erika9133 4 роки тому +1

    Excelente explicación. Cuál es el tema que usas para el terminal de mac?

  • @neyk
    @neyk Рік тому

    Hola Betta Tech! ¿Este algoritmo también es aplicable a strings o existen algoritmos más eficientes para ello?

  • @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

  • @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

  • @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_

  • @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

  • @carlosfabricio3550
    @carlosfabricio3550 4 роки тому

    De primera impresión me parece similar a los index utilizados en Mongo

  • @jorgefranciscodejesusvalen3672
    @jorgefranciscodejesusvalen3672 3 роки тому

    pero en el primer arrai no habia orden, de menos a mayor como lo seria en las paginas de un libro.

  • @maxbarcon
    @maxbarcon 4 роки тому +3

    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 роки тому +8

      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 роки тому +1

      BettaTech claro y es lógico porque eso mismo lo pones en el if

  • @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 роки тому +1

      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.

  • @mishabytes8209
    @mishabytes8209 3 роки тому

    La pregunta es como aplicar esto en una matriz tridimensional

  • @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 роки тому +1

      Si no tienes información previa de algun tipo, siempre sera coste lineal. Es decir, recorrer el vector entero buscando tu item

  • @agustinm_793
    @agustinm_793 4 роки тому

    Resubido? Bueno igual vuelvo a dejar mi like. Buen video!

    • @BettaTech
      @BettaTech  4 роки тому +3

      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!

  • @frikinauta
    @frikinauta 4 роки тому +1

    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 роки тому +1

      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 роки тому +1

      Es un Vortex pok3r :P

  • @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 .

  • @farleyloaiza1273
    @farleyloaiza1273 4 роки тому +2

    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 роки тому +1

    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.

  • @lacasadeacero
    @lacasadeacero 3 роки тому

    Es en termino simples para mi, el metodo de biseccion.

  • @erickjhormanromero6905
    @erickjhormanromero6905 4 роки тому

    Que lenguaje usas?

  • @franconoce1728
    @franconoce1728 2 роки тому

    El algoritmo es completamente funcional, similar a los arboles binarios, pero sirve solo para arrays ordenados

  • @joshy56
    @joshy56 4 роки тому +1

    Hola betta, tengo una duda, la búsqueda binaria también sirve para objetos que no sean integers?

    • @PositronQ
      @PositronQ 4 роки тому +1

      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 роки тому +3

      Lo importante es que sean objetos ordenables!

  • @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

  • @CESAR365
    @CESAR365 3 роки тому

    Cual es el lenguaje de programación usado en este video ?

  • @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 =(

  • @gerardhello2581
    @gerardhello2581 3 роки тому

    En donde esta programando? C++?

  • @meakeuser
    @meakeuser 3 роки тому

    En FullHD se le ocurrio andar a la camara

  • @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

  • @ysaijaviercondorivelez9170
    @ysaijaviercondorivelez9170 3 роки тому +1

    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.

  • @ElectroTallerBergali
    @ElectroTallerBergali 3 роки тому

    Ese algoritmo no se llama quickshort?

    • @gabrielarana8939
      @gabrielarana8939 3 роки тому +1

      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.

  • @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 роки тому +1

      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 роки тому +2

    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 роки тому +1

      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.