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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ต.ค. 2024

ความคิดเห็น • 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 ปีที่แล้ว +5

    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 5 หลายเดือนก่อน

      y que algoritmo era?

  • @maxidemarchi3832
    @maxidemarchi3832 4 ปีที่แล้ว +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.

  • @willbackslash
    @willbackslash 4 ปีที่แล้ว +31

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

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

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

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

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

  • @djoriel4028
    @djoriel4028 4 ปีที่แล้ว

    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!

  • @skreamozzz
    @skreamozzz 4 ปีที่แล้ว +3

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

  • @erikomarmontescastro100
    @erikomarmontescastro100 3 ปีที่แล้ว +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 3 ปีที่แล้ว +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);

  • @santiagocascolucero2024
    @santiagocascolucero2024 4 ปีที่แล้ว +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)

  • @joseleobardoojedaborges2699
    @joseleobardoojedaborges2699 4 ปีที่แล้ว

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

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

  • @juanpablocanepaalvarez9607
    @juanpablocanepaalvarez9607 4 ปีที่แล้ว +1

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

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

  • @jldcruz
    @jldcruz 4 ปีที่แล้ว +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.

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

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

  • @sebastianangulo7957
    @sebastianangulo7957 4 ปีที่แล้ว

    Me la pase una hora entendiendo este método pero con solo 5 minutos en tu vídeo entendí todo muchas gracias

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

  • @germanr90
    @germanr90 4 ปีที่แล้ว +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

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

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

  • @NormandoHall
    @NormandoHall 4 ปีที่แล้ว

    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

  • @violetaeq1051
    @violetaeq1051 3 ปีที่แล้ว

    me encantó la publicidad corta explícita concreta

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

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

  • @Rebel94122
    @Rebel94122 3 ปีที่แล้ว

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

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

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

  • @miguelangelhernandez1922
    @miguelangelhernandez1922 3 ปีที่แล้ว

    Buen video, ameno, claro. Muchas gracias

  • @frutoramirezjuanjose5930
    @frutoramirezjuanjose5930 9 หลายเดือนก่อน

    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?

  • @eLuars
    @eLuars 4 ปีที่แล้ว

    Cada video mejor que el anterior, maestrazo

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

  • @danielsanchezmartinez4637
    @danielsanchezmartinez4637 4 ปีที่แล้ว

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

  • @erika9133
    @erika9133 4 ปีที่แล้ว +1

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

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

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

  • @neyk
    @neyk ปีที่แล้ว

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

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

  • @eryC96
    @eryC96 4 ปีที่แล้ว +1

    Muy bien explicado Martín, gracias!

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +1

      Gracias a ti!

  • @charlinezequiel8259
    @charlinezequiel8259 3 ปีที่แล้ว

    Bettatech, eres oro puuuuuro 🎉🎉🙌

  • @JonatanFajardo
    @JonatanFajardo 3 ปีที่แล้ว

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

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

  • @marx7811
    @marx7811 3 ปีที่แล้ว

    Que gran explicación. Excelente video :)

  • @mafeo3
    @mafeo3 4 ปีที่แล้ว

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

  • @marcofernandovalarezoyagua8859
    @marcofernandovalarezoyagua8859 2 ปีที่แล้ว

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

  • @juanjoseromerohernandez7573
    @juanjoseromerohernandez7573 4 ปีที่แล้ว

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

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

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

  • @EzequielRegaldo
    @EzequielRegaldo 4 ปีที่แล้ว

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

  • @federicoalmada1220
    @federicoalmada1220 4 ปีที่แล้ว +1

    Muy buen video como de costumbre, saludos desde Argentina

  • @enrique27yt
    @enrique27yt 4 ปีที่แล้ว +1

    Me emocione porque hiciste el algoritmo con C++ jaja

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

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

  • @neirotorofjnt
    @neirotorofjnt 3 ปีที่แล้ว

    Betta Tech Gracias de nuevo

  • @baldomero7458
    @baldomero7458 4 ปีที่แล้ว

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

  • @luisalberto1146
    @luisalberto1146 4 ปีที่แล้ว

    Oye bro una duda, el método buscar de list de c# usa búsqueda binaria?

  • @savehunters4873
    @savehunters4873 4 ปีที่แล้ว

    Que tipo de letra usas en tu terminal?

  • @michaellugoospina8932
    @michaellugoospina8932 4 ปีที่แล้ว +2

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

  • @trasmethrash
    @trasmethrash 4 ปีที่แล้ว

    te ganaste otro suscriptor. Sigue así!

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

  • @juanandresmolina9704
    @juanandresmolina9704 4 ปีที่แล้ว

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

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

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

  • @jorgepalacio5091
    @jorgepalacio5091 4 ปีที่แล้ว

    Gracias por tus explicaciones!

  • @luis96xd
    @luis96xd 4 ปีที่แล้ว

    ¡Excelente video, muy bien explicado! 😄😄

  • @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 4 ปีที่แล้ว +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.

  • @robertoacosta5542
    @robertoacosta5542 2 ปีที่แล้ว

    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_

  • @ferna068
    @ferna068 4 ปีที่แล้ว

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

  • @Johanncastellanos
    @Johanncastellanos 4 ปีที่แล้ว

    Excelente vídeo. Gracias Crack

  • @mariocortez25
    @mariocortez25 3 ปีที่แล้ว

    Esto si es algoritmia de verdad

  • @TomasPlz
    @TomasPlz 3 ปีที่แล้ว

    ECSELENTE VIDIO

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

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

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

  • @mishabytes8209
    @mishabytes8209 3 ปีที่แล้ว

    La pregunta es como aplicar esto en una matriz tridimensional

  • @CESAR365
    @CESAR365 3 ปีที่แล้ว

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

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

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

  • @billiekinimiranda3838
    @billiekinimiranda3838 4 ปีที่แล้ว

    ¡Te amo Bro! ❤️

  • @gerardhello2581
    @gerardhello2581 3 ปีที่แล้ว

    En donde esta programando? C++?

    • @varaskkar
      @varaskkar 3 ปีที่แล้ว

      neovim, es un IDE para la consola

  • @nikolam-dev
    @nikolam-dev 4 ปีที่แล้ว

    Gracias betta, me encantan tus videos lindo UwU

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

  • @erickjhormanromero6905
    @erickjhormanromero6905 4 ปีที่แล้ว

    Que lenguaje usas?

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

  • @rockyminarro1715
    @rockyminarro1715 4 ปีที่แล้ว

    Muy buen video

  • @josueisaacdominguezrincon9357
    @josueisaacdominguezrincon9357 2 ปีที่แล้ว

    y en caso de que no estén ordenados?

    • @BettaTech
      @BettaTech  2 ปีที่แล้ว

      En ese caso la búsqueda binaria no sirve, tendrías que buscar en el array completo y tendria coste lineal =(

  • @ElectroTallerBergali
    @ElectroTallerBergali 4 ปีที่แล้ว

    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.

  • @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 2 ปีที่แล้ว

      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 2 ปีที่แล้ว

      @@robertoacosta5542 efectivamente si

  • @jorgefranciscodejesusvalen3672
    @jorgefranciscodejesusvalen3672 3 ปีที่แล้ว

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

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

  • @lacasadeacero
    @lacasadeacero 3 ปีที่แล้ว

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

  • @carlosfabricio3550
    @carlosfabricio3550 4 ปีที่แล้ว

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

  • @franconoce1728
    @franconoce1728 2 ปีที่แล้ว

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

  • @TheGalox99
    @TheGalox99 4 ปีที่แล้ว +2

    En python todo esto se puede hacer con un simple "if x in array: print( array.index(x))"

    • @isaacbenavides111
      @isaacbenavides111 4 ปีที่แล้ว

      en realidad XD

    • @BettaTech
      @BettaTech  4 ปีที่แล้ว +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 4 ปีที่แล้ว

      @@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  4 ปีที่แล้ว

      @@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 4 ปีที่แล้ว

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

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

  • @meakeuser
    @meakeuser 4 ปีที่แล้ว

    En FullHD se le ocurrio andar a la camara

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

  • @erikajauregui4318
    @erikajauregui4318 2 ปีที่แล้ว

    se dice patrocinado por....