Complejidad Algorítmica sin llorar - Notación Big O

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.ย. 2024
  • Para ser un buen programador es conveniente tener nociones sobre complejidad algorítmica, en especial, conocer y entender qué es la notación Big O y tener en cuenta las complejidades principales como espacio y tiempo para que tu código sea eficiente. Aprenderás de qué va todo este tema de forma divulgativa y conocerás los órdenes de complejidad más comunes, como el constante, lineal o cuadrático, a través de varios ejemplos sin una sola línea de código. Más adelante traeré vídeos para que sepas aplicar análisis algorítmico a tu propio código. ¿Qué haces leyendo esto y no viendo el vídeo? Venga, ¡vamos a aprender! ;)
    · Apoya este proyecto:
    Patreon: / bitboss
    · Sígueme por redes:
    Twitter: / bitboss0
    Instagram: / bitboss0
    TikTok: / bitboss0
    · Música:
    Lobby Time Kevin MacLeod (incompetech.com)
    Licensed under Creative Commons: By Attribution 3.0 License
    #complejidad #algoritmos #bigo

ความคิดเห็น • 83

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

    ⚠Disclaimer⚠
    El dato sobre la edad del universo lo extraje de Wikipedia. Ten en cuenta que este dato puede ser erróneo, según Wikipedia la estrella más vieja es más longeva que el propio universo xd. Este dato era solo un ejemplo para entender la importancia del crecimiento, igualmente, aprovecho que TH-cam ha implementado el tema de los usuarios e invoco a José Luis Crespo @QuantumFracture por si puede arrojar luz sobre este asunto.

  • @Jkslerp__
    @Jkslerp__ 3 วันที่ผ่านมา +2

    muchas gracias gran hombre me has ayudado a comprender la notacion big O que estoy viendo en mis clases de logica y discretas

    • @BitBoss
      @BitBoss  3 วันที่ผ่านมา

      ¡Muchas gracias a ti! Pero ten cuidado que esas clases, lógicamente, no se dejan ver.

  • @axelyaelperaltaortiz4815
    @axelyaelperaltaortiz4815 ปีที่แล้ว +27

    este tipo de videos deberia llegar a mas publico, es una gozada tu contenido. gracias por compartir con nosotros :)

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

      Estoy contigo, cuando veo el resultado de lo que hago me lo gozo yo mismo, pienso: ojalá esto hubiera estado cuando yo estudiaba. Cuando veo los resultados me vengo abajo y me rayo muchísimo, dan ganas de dejarlo y pienso si realmente estoy desperdiciando mi tiempo y energía. No sé si esto cambiará o esto al final será una perdida de tiempo pero al menos comentarios como el tuyo me vuelven a recargar las pilas, muchas gracias Axel

  • @tigrillo1439
    @tigrillo1439 หลายเดือนก่อน +2

    Muchísimas gracias hermano, se agradece tener esta calidad en español.
    Saludos desde Argentina 😊

  • @santiagobenavidez5113
    @santiagobenavidez5113 ปีที่แล้ว +9

    Esperaré el vídeo para analizar nuestros propios algoritmos 👨‍💻🤟🏻

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

      Gracias por la expectación y por mostrar ganas de más! Haré todo lo que esté en mi mano para continuar esta saga de vídeos

  • @Naomi_stephy
    @Naomi_stephy 4 หลายเดือนก่อน +2

    Buen video , mañana tengo prueba y se entiende todo clarisimo ,gracias ❤

  • @Jaimetu0012
    @Jaimetu0012 ปีที่แล้ว +9

    Da gusto ver estos videos. Una explicación muy buena, ejemplos muy claros y los memes que, irónicamente, siempre me ayudan a concentrarme en el video ya que no dejas de prestar atención. Buen video 👌

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

      Muchas gracias por estar ahí siempre tío, me alegra saber que los memes sirven para llamar la atención también en el buen sentido jajajaja

    • @alewieler1906
      @alewieler1906 11 หลายเดือนก่อน

      Crea mnemotécnicas para recordar jajaja@@BitBoss

  • @foobar43
    @foobar43 ปีที่แล้ว +7

    ¡Genial vídeo! Desconocía esta parte y me encantaría saber cómo calcular la complejidad de mis propios algoritmos (más allá de ver cómo se queda tostado el PC jejeje)

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

      jajaja creo que todos la hemos liado con un algoritmo regulinchi y nos hemos hecho unos buenos sandwiches! Me encanta saber que hay ganas de más, una maravilla. ¡Muchísimas gracias Luis! 💚

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

    uffff papa que buen video como siempre, y es un tema que mucha gente no le hace mucho caso, incluso a nivel profesional pero puede ser un determinante entre hacer un buen codigo y uno que no

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

      Doy fe de ello, veo otros youtubers/streamers que recomiendan algunas prácticas que son "más fáciles" pero se nota que no saben la que están liando por dentro o simplemente les interesa el clickbait de "esto es más fácil"... Me anima que valores este tipo de contenido y muchas gracias por pensar así de mis vídeos en general! 💚

  • @PromptedComet3
    @PromptedComet3 4 หลายเดือนก่อน

    Estoy aprendiendo este tema en la facultad y me sirvio bastante este video, gracias genio!

  • @sergiorodriguezhernandez8068
    @sergiorodriguezhernandez8068 9 หลายเดือนก่อน +1

    Bro que buen video, deberías seguir generando contenido como este. Vi varios videos al respecto y contigo quedo muy claro. Sigue así P.D.: Me quedé con la intriga de como analizar mi propio algoritmo

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

    Que flipada tu explicación, muchas gracias

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

      Qué guay leerte de nuevo Darwin! Me alegro de que te haya gustado! Muchas gracias

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

    Muy buen vídeo, la verdad espero que se difunda mas estos vídeos :)

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

      La esperanza es mutua ^^ Muchas gracias por estar ahí siempre 💚

  • @pablo506
    @pablo506 7 หลายเดือนก่อน +3

    Lloré seis veces pero igual buen video

    • @BitBoss
      @BitBoss  7 หลายเดือนก่อน +2

      Yo también lloré haciendo el vídeo :_)

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

    Me encanto! Quisiera saber más

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

      Muuuuchas gracias por decírmelo así dan ganas de hacer más :)

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

    Te ganaste mi suscripción y mi corazón con el final, y que mierda importa esto del orden, jaja porfavor podrías recomendarme un libro para profundizar más sobre algormtimos de este tipo, saludos te quedaría muy agradecido increíble canal

  • @AndynoCortez-et4nd
    @AndynoCortez-et4nd 3 หลายเดือนก่อน

    Gracias por el video! Es muy didactico y me ayudo a entender. Tendrias bibliografia? O algun lado en donde hayan ejercicios y teoria del tema?

  • @sach8706
    @sach8706 10 หลายเดือนก่อน

    hermoso video, estos temas los ví en la facultad y quería recordarlos un poco.

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

    si porfas , la segunda parte!!!!

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

      Gracias por mostrar esas ganas de más!! :)

  • @AntonioSanchez-bi3nu
    @AntonioSanchez-bi3nu ปีที่แล้ว +9

    No entendí nada. Gracias por el video. Seguiré estudiando.

    • @BitBoss
      @BitBoss  ปีที่แล้ว +5

      No te preocupes por no entenderlo, diría que es lo normal, es un tema complicado. Espero que en un futuro lo entiendas ya sea con mi vídeo o por tu cuenta, gracias por el comentario y mucho ánimo con ese estudio!

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

    Excelente vídeo y explicación
    Visto en 06/12/2022

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

      Muchísimas gracias por tu comentario 😄

  • @juancamilorubioarboleda4185
    @juancamilorubioarboleda4185 6 หลายเดือนก่อน +1

    Una chimba de video parce, la buena

    • @maicolarias2516
      @maicolarias2516 4 หลายเดือนก่อน

      Medellín en la casa jaja

  • @erwingonzalez4313
    @erwingonzalez4313 4 หลายเดือนก่อน

    Wow, que calidad de contenido, top notch

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

    Que buen video. Gracias por la explicación, se entiende genial.

  • @guillermoluna8613
    @guillermoluna8613 8 หลายเดือนก่อน +2

    gracias bro

  • @yinonliechtenstein
    @yinonliechtenstein 2 หลายเดือนก่อน +1

    Pero que buen video, casi lloro pero de la risa

    • @BitBoss
      @BitBoss  2 หลายเดือนก่อน +1

      Me alegra oírlo 🤣🤣

  • @lorenzofdzmg
    @lorenzofdzmg 6 หลายเดือนก่อน +1

    Buenisímo el vídeo, gracias🤗

  • @Boyofway
    @Boyofway 7 หลายเดือนก่อน

    Muy buena explicación en español!

  • @Kevin-cu5wf
    @Kevin-cu5wf 6 หลายเดือนก่อน +1

    La factorial 😂 nuevo sub

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

    Como analisar mi algoritmo
    BUEN VIDEO Muchas Gracias

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

      Muchísimas gracias de nuevo

  • @ruloA666
    @ruloA666 5 หลายเดือนก่อน

    Hola hermano, podrias hablar si tienes el conocimiento de porque la cama se me desnivela en cada impresion? Compre los resortes reforzados, modifique el final de carrera para que el resorte quede bien ajustado, nivelo todo y no me dura 2 impresiónes

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

    Muchas gracias ..

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

      Gracias a ti por comentar Alenm

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

    Mi Bro pq tan poquitas vistas, like y comentario para alimentar el algoritmo

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

      Eso mismo digo yo, por qué el algoritmo no me quiere? :( Muchas gracias bro 💚

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

      @@BitBoss Hipótesis: faltan rostros expresivos en las miniaturas. Las odio, las veo innecesarias. Pero por lo visto, TH-cam las premia por ser la condición humana la que por defecto se tiente más a hacer el clic al ver una expresión llamativa. ¿Qué crees al respecto?

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

      Pienso exactamente igual, últimamente es lo que se lleva y lo veo en la mayoría de canales, copian-pegan la cara, imagen de fondo, texto y listo. En este vídeo he intentado experimentar, tengo 3 miniaturas:
      - Solo texto, la que habéis visto, intentando llamar la curiosidad, hay algunos youtubers que les funciona pero creo que no es mi caso y encima era mucho texto.
      - Rostro + texto, la que acabo de cambiar, buscando el click desde el humor pero sin engañar sobre el contenido al mismo tiempo que genero una incógnita.
      - Imagen representativa del contenido del vídeo, gráficas con las funciones y alguna que otra cosita, también desde el humor.
      Esta última sería la que pondría, por lo general, desde el principio porque me gusta que las miniaturas representen el contenido pero estoy luchando contra mí mismo y explorando otras maneras por si la culpa es mía.
      Tengo pensado salir en un futuro y quizás llegado el momento me "utilice" para las miniaturas, tanto futuras como antiguas pero me da mucho palo, que no pereza, tener que hacerlo. Como tú, lo odio a muerte y el hecho de tener que salir en persona/usar la cara de algún meme me da coraje, pero si es lo que ha sesgado el algoritmo será por algo. Espero que esto cambie y volvamos a las flechitas rojas y al "SALE MAL" xD

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

      @@BitBoss ¡Suerte! Ojalá el canal alcance más visualizaciones con los experimentos y aumentes la base de usuarios 💪

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

      @@BitBoss por cierto, y algo del estilo @NODEtv ?

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

    Sii otro vídeo están muy buenosn

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

      Me alegro de que queráis más de este tipo de contenido 😊 No te preocupes habrá más😉

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

    Buenas tardes! Muchísimas gracias por el vídeo, está muy trabajado.
    Me surge una duda, en el primer ejemplo, no tendría complejidad n también eliminar un elemento de una lista? Entonces no sería 2n? No?
    Un saludo, y ojaká puedas haacer más vídeos. Mucho ánimo:)
    ps: nuevo subbbb

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

      Buenas y bienvenido!!! Muchas gracias por tu pedazo comentario, me alegro de que tengas ganas de más :)
      Sobre tu duda, si he entendido bien tu pregunta, te extraña que la función que mide la complejidad en espacio sea 2n cuando a lo largo de la ejecución del algoritmo elimino elementos, terminando con una lista auxiliar de tamaño n en vez de dos listas auxiliares de tamaño n como al principio.
      El concepto de complejidad es sobre el tamaño de la entrada, no sobre el tiempo de ejecución, es decir, para la complejidad en espacio sería cuántos elementos necesita mi algoritmo para un cierto tamaño de entrada.
      Aplicado al ejemplo, el algoritmo que propongo empieza generando dos listas auxiliares de igual tamaño, eso implica que si no tiene esa memoria, el algoritmo no puede ejecutarse aunque luego, a lo largo de la ejecución una lista haya desaparecido y solo quede una, dando a pensar que es n en vez de 2n. La complejidad en espacio mide la memoria necesaria para ejecutarse, por eso es 2n.
      Espero que te sirva, si te quedas con dudas o no era esa tu pregunta no tengas pudor en comentar. Por cierto, ¿puedo preguntarte cómo has llegado hasta el vídeo? Siento que este vídeo se ha quedado en el fondo del pozo de TH-cam xD

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

      @@BitBoss Buenas tardes! Me refería al coste de por ejemplo de los métodos .remove() o .pop() en Python, que tienen coste O(n) utilizarlos.
      Llegué al vídeo después de un buen rato buscando vídeos sobre coste o complejidad computacional, y si no recuerdo mal, al acabar otro vídeo, me salió en las sugerencias de la derecha.
      Muchísimas gracias por responder, de verdad.
      Un saludo.

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

      Efectivamente, los métodos .remove() y .pop() cuando reciben argumentos su orden de complejidad es O(n) pero ojo, complejidad en tiempo. Si la pregunta fuera, ¿cuál es el orden de complejidad en espacio? La respuesta sería O(1) porque no necesitan memoria extra para ejecutarse, simplemente modifica la lista que ya existe, el uso de memoria se mantiene constante al usar estos métodos.
      Por eso te decía antes que en el primer algoritmo analizábamos complejidad en espacio, su función de coste en espacio sería 2n y su orden de complejidad sería O(n). Si analizamos en tiempo en vez de en espacio, tanto el primer algoritmo como el segundo que usé para explicar la complejidad en espacio para la ordenación aleatoria tendrían complejidad lineal, O(n). Resumiendo, de los ejemplos que usé para explicar la complejidad en espacio, el primer algoritmo sería de orden lineal O(n) tanto en tiempo como en espacio y el segundo sería orden constante en espacio O(1) pero orden lineal en tiempo O(n).
      Otra cosa, cuidado con el método .pop() no siempre tiene orden lineal, si lo usas con argumento, es decir con el índice a eliminar, su complejidad en tiempo es O(n) peeeeeero si lo usas sin argumento elimina el último elemento de la lista y esa acción tiene una complejidad en tiempo de O(1).
      lista.pop(1) # Complejidad O(n)
      lista.pop() # Complejidad O(1)
      Sobre lo de cómo llegaste, gracias por contármelo estoy comprobando qué problemas tienen mis vídeos y cada vez tengo más claro que TH-cam me recomienda cuando el usuario busca mi vídeo pero no al feed de mis suscriptores. Gracias por contármelo, me ha ayudado :)

  • @kevinhafiddiazgarcia-23
    @kevinhafiddiazgarcia-23 ปีที่แล้ว

    Nice excelente video

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

      Muchas gracias Kevin

  • @nicoblanco8541
    @nicoblanco8541 ปีที่แล้ว +16

    Yo al contrario, leí "Complejidad Algorítmica" y pensé: Ostia, parece divertido

    • @Moderno180
      @Moderno180 11 หลายเดือนก่อน +1

      Si claro claro

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

      Sí, claro, te creo

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

    me saliste en recomendados porque vi este video sksjkdjd gracias

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

      jajaja No hay de qué 😊 Espero salir de nuevo en tus recomendados 😉

  • @adamsamuelinzunzaramirez1559
    @adamsamuelinzunzaramirez1559 7 หลายเดือนก่อน +1

    Con solo ver que la imagen del video, me heche a reir xd

  • @colombiansoenchile_cl
    @colombiansoenchile_cl 8 วันที่ผ่านมา

    hazzzlo bro un video de como analizar mis algoritmos

    • @BitBoss
      @BitBoss  3 วันที่ผ่านมา

      Caerá, caerá ;)

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

    como haces esas animaciones?... un like bien ganado!!!

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

      Principalmente After Effects + Premiere en casi todos los vídeos. Este concretamente tiene algunas animaciones creadas con Manim. Muchas gracias por ese pedazo de like ;)

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

    🙌

  • @haroldcrow
    @haroldcrow 10 หลายเดือนก่อน

    y segun yo, era de como medir la complejidad algorimica de un algoritmo jejeje pero me gusto el video, media vez uses los simpsons, va el follow ajajaa

  • @dimon963
    @dimon963 5 หลายเดือนก่อน

    Si

  • @leandromarcelo2340
    @leandromarcelo2340 8 หลายเดือนก่อน

    Cómo hiciste las animaciones?

    • @BitBoss
      @BitBoss  7 หลายเดือนก่อน

      Manim + AfterEffects

  • @Gallardo7761
    @Gallardo7761 8 หลายเดือนก่อน

    god