Notación Big O | Explicacion y Análisis de la complejidad de un Algoritmo
Vložit
- čas přidán 30. 07. 2021
- En el video de hoy aprenderemos utilizar y responderemos que es la Notación Big O para analizar la complejidad de un algoritmo o programa y ver que tan eficiente es. Ademas se incluye la resolucion de ejercicios practicos para poner el practica lo aprendido en el video. Se analiza la Complejidad Constante O(1), Complejidad Lineal O(n) y Complejidad Cuadratica O(n^2). Puede referirse a Big O como Big Oh. Se mencionan tambien Big Omega y Big Theta.
🌟 Recorda que ahora podes ayudarme a seguir creando contenido uniéndote a los miembros exclusivos del canal!: czcams.com/channels/qs6.html...
Servidor de Discord El Taller De TD: / discord
Contacto/Contact: eltallerdetd@gmail.com
Video Mencionado: Big-O notation in 5 minutes - The basics por Michael Sambol: • Big-O notation in 5 mi...
Libro Mencionado: Introduction To Algorithms por Thomas H. Cormen y otros.
Cualquier duda o error que tengas deja un comentario y te ayudare en lo posible!
Información extra, esquemas y mas en mi blog: eltallerdetd.wordpress.com/
Los mejores proyectos con Arduino en el canal: goo.gl/mCKknp
Los mejores proyectos de Programación en el canal: czcams.com/users/playlist?list...
Mis redes sociales:
Suscribite ahora!: goo.gl/s9jhnN
Sígueme en Facebook: goo.gl/8krydS
Sígueme en Twitter: goo.gl/i1V7xo
Sígueme en Instagram: goo.gl/nqgzbF
¡Muchas Gracias!
No olviden suscribirse y comentar sus dudas para que entre todos podamos resolverlas! Un saludo!
no chavon me salvaste, gracias. ya me suscribí sólo por este video.
A mí si me gustaría que hicieras un video con respecto al analisis de algoritmos recursivos...
Buen video, me ayudó muchísimo.
Tremenda explicación me sirvió muchísimo, gracias
Muy buen video, estoy cursando algoritmos 2 y sos más claro que el jtp
Muchas gracias 🎀
Al fin un video donde esta sencillo y bien explicado 👏🏻
Muchas gracias Julio Cesar!
Estuve serio durante todo el video hasta que llegó el final y dijiste BiG Theta jajaja
¡Gran video!
Estaría genial que hicieras de esto una serie de Estructura de Datos y Algoritmia
Muchas gracias por comentar Eduardo! Lo tendre en cuenta, saludos!
Explicación clara y sencilla, muchas gracias
Muchas gracias por tu comentario Juan Carlos!
Hace poco estaba buscando videos sobre esto y ahora subis uno. Qué casualidad.
Me alegro mucho poder haber ayudado! Un saludo!
Buenisimo el video
Uhh me sirve, justo estoy viendo esto en la facultad 😎
Jajajaj que aparato Juani Con esto se aprueba si o si jajajaj
@@ElTallerDeTD JAJAJA que buena onda este
Mil gracias por el video! estaba un poco trabado con este tema
Gracias a vos por ver el video!
Gracias
Buen video maquina, exitos.
Muchas gracias!
Buenas, una duda, en el algoritmo que muestras en el minuto 4:39 le asignamos al bucle interior una complejidad de O(n), pero sin embargo la K no sabemos de donde sale, quiero decir, si esa K estuviese declarada arriba como k = 8, entonces ese bucle for() tendría una complejidad de O(1), ya que es un recorrido constante, para que fuese O(n) como usted dice el bucle deberia estar declarado como: for(int j=0, j< n, j++) o si lo dejamos como está, la K deberia estar arriba de forma: k = n.
Si me equivoco, por favor expliquenme el porqué.
Un saludo y gracias de antemano.
Excelente video amigo, justo estoy aprendiendo esto ya que me rechazaron de una entrevista por no tener conocimiento sobre calcular la complejidad de los algoritmos hace unos dias, hay que seguir aprendiendo cosas todos los días.
Una pregunta. Para que puesto y que Seniority era la entrevista ?
@@martinddMarco middle y era para una empresa de USA que ofrece dashboards interactivos para farmacéuticas el puesto era de backend
Sencillo y al pie, explicación espectacular
Muchas gracias!
Si amigo, nos gustaria que hiciera los otros metodos para evaluar la eficiencia de un codigo!
Lo tendre en cuenta para un futuro video, un saludo!
Minuto 5:38 en el loop en rojo, tu dices que es O(n^2) eso sería verdad en caso que k = n, de lo contrario esta mal, ya que sería O(nk), recuerda que se analiza el comportamiento en función de la entrada o entradas. Leete el libro Cracking the code interview page 42 Multi-Part Algoritms: Add vs Multiply. Ahí y en la página 39 pone un ejemplo de la complejidad de pintar una pared lo que requiere O(wh) donde w es el width de la misma y h el hight de la misma. Y si quieres aplicar p layers de pintura pues se convierte en O(whp) y no podemos reducirlos ni menos tratarlos como uno solo. Matemáticamente eso esta correcto, porque si quieres sacar el area de un cuadrado pues seria lado^2 en caso que los lados todos iguales (un cuadrado), pero qué pasa si es un rectángulo? sería siempre lado*lado? no! ya sería base*altura, por eso decir que el for en rojo es O(n^2) esta incorrecto.
claro que se necesitan los otros videos :)
Hola, tengo una consulta, en el min. 4:45 , en la complejidad cuadrática; esta no sería afectada al recorrer dimensiones diferentea , ya que primero se recorre hasta n, y luego hasta j; entonces esto no afectaría a la complejidad?
Algoritmo de Data Analytics son los algoritmos que mediante una serie de datos identifican distintas etiquetas. Podemos hacer dos grupos y diferenciar clientes que están cercanos a la compra en una página web, de clientes que no lo están.
excelente
Muchas gracias!
Yo apenas aprendiendo de JavaScript y te entendí xD. Nice video uwU
Muchas gracias! Un saludo!
Entonces es deseable la simplicidad y evitable la complejidad?
Me gustó
Muchas gracias!
Intento unirme al server de Discord pero me dice que la invitación no es válida o ha expirado. ¡Buen video!
4:30
Una pregunta:
Mirando otro videos vi que la complejidad de un bucle for con parametros distintos (en este caso n y k) deberia ser.
O(n*k)
¿Estoy equivocado?
lo resolviste?
Exacto, un pequeño error en el vídeo.
Y cuando es Big O (2 elevado a la n) ? me ayudan porfavor
Vídeo para algoritmos recursivos, y las cotas theta y omega
Lo tendre en cuenta! Saludos Stark!
Continua con el curso.
Hola Antonio! Lo tendre en cuenta!
No te olvides de suscribirte al canal si te gusto :)
Estoy en clase viendo esta clase
broth acabo de terminar un proyecto y me estan pidiendo la complejidad algoritmica, pero no la entiendo muy bien, me podrias ayudar?
Hola Diego! Seguramente debas analizar el programa en el cual trabajaste para deducir su complejidad temporal, puedes comenzar con lo que explico en este video, y para ir mas alla te recomiendo el libro Introduction To Algorithms
logaritmica´
dale, hace el otro che
Hola, para el último ejemplo planteas que:
if(x==true){
O(n)
}else{
O(n logn)
}
Sin embargo, no veo que el tiempo de ejecución varie con el tamaño del input n, básicamente, no hay otros factores que hagan que el tiempo de ejecución incremente, por lo tanto, es una operación de tiempo constante O(1) para ambos casos tanto en el if o el else.
O(1) + O(1) = O(1)
Hola, no los ves debido a que lo que el plantea no es el análisis de el if y else, ya que dentro de estos mismo puede decirse que ya esta hecho el análisis de estos mismos, solo esta aplicando la regla de la suma.
Porque if (x == true) es O(n) ?
lo que esta dentro del if es O(n)
R.S.A está en: P
La Suma de Subconjunto está en: P
Tengo... La Demostración...!!!
Por qué else es n log n
No es el else lo que tiene complejidad n log n. Es el pedazo de código que está adentro. Lo mismo con el if.
El ejemplo está puesto para mostrar que aunque puede que el código dentro del else no se ejecute nunca igual se considera su complejidad al momento analizar la del código completo.
Gracias