Quick Sort | Ordenamiento Rápido | Explicado con Cartitas!

Sdílet
Vložit
  • čas přidán 23. 07. 2024
  • Quick Sort o el Ordenamiento Rápido es el algoritmo de ordenamiento que se utiliza más a la hora de implementar una solución de ordenamiento. Casi todos los lenguajes de programación lo utilizan en su librería estandar como su método de ordenamiento. Explicaremos su implementación con un ejemplo de cartas y luego mostraremos el código con un pequeño análisis de la complejidad Big O de quick sort.
    Código:
    - pastebin.com/E8C1gf4s
    Referencias:
    - www.geeksforgeeks.org/quick-s...
    Contenido:
    0:00 Intro
    0:39 QuickSort
    1:41 Ejemplo Visual
    3:02 Partición del Arreglo
    5:12 Código
    6:38 Análisis
    7:24 Comparación
    Libros recomendados:
    kit.co/schiob
    Apóyame con una pizza:
    www.buymeacoffee.com/schiob
    Para contenido atrás de cámara y fotos de comida sígueme en:
    / schiob
    / schiob
    github.com/schiob

Komentáře • 50

  • @manuelbacallao1965
    @manuelbacallao1965 Před rokem +4

    Chio, este video fue fantastico, me encanta lo disfrutable que puede ser un video de estudio. Se ve que le pones mucho amor al canal con todas las animaciones para explicar el contenido, una ambientacion y sonidos impecables y tienes muy buena voz para hacer lo que haces, en comparacion con lo que he encontrado en youtube. 10/10 hermano!!!!

  • @alanalvarado9491
    @alanalvarado9491 Před rokem +2

    Que gran video! Estoy a penas empezando con el tema de estructuras de datos y algoritmos, mañana tengo un test para una pasantía de Oracle, y tus videos me ayudan mucho a entender estos temas!!

  • @hernanphillip334
    @hernanphillip334 Před 4 měsíci

    Hola profesor es un placer ver sus videos y encontrar su canal, su video fue bastante facil de comprender.

  • @robertomagana70
    @robertomagana70 Před rokem

    Excelente!! la explicación, gracias lo implementaremos en el próximo programa.

  • @leidyjohannasanchezzamora2300

    Me encanta tu concreta explicacion muchas gracias.

  • @mandrake15
    @mandrake15 Před rokem +4

    Chio no dejes de subir videos, tu canal tiene una calidad impresionante!!!

    • @ChioCode
      @ChioCode  Před rokem +2

      Muchas gracias Roger, seguiré con los videos, espera hoy el siguiente ;)

  • @cabreracostaderekelliot2835

    Excelente explicación, muchas gracias

  • @gabrielmonsalvedev7293
    @gabrielmonsalvedev7293 Před rokem +1

    Gracias por explicarnos con manzanitas Chio, justo el algoritmo del que quería hacer un shorts, tomaré mucho de acá como referencia.

    • @ChioCode
      @ChioCode  Před rokem +1

      Perfecto Gabriel, espero te ayude para el shorts :D

  • @skull4998
    @skull4998 Před rokem

    Veo muchos videos acerca de programación y debo decir que este canal es muy interesante. Tus temas y explicaciones son geniales, sigue así bro.

    • @ChioCode
      @ChioCode  Před rokem

      Muchas gracias por tu mensaje, espero que los videos te ayuden n.n

  • @mikellorite3779
    @mikellorite3779 Před 8 měsíci

    te amo te lo juro te amo. LLEvaaba toda la mañana intentando hacer esto en C y nsk mierdas, he visto tu video y lo he hecho yo solo, sin copiar y lo he entendido bnde. Te quiero,

  • @bettersleep4455
    @bettersleep4455 Před rokem

    Muy bueno, lo estoy viendo en la facultad y tu video me ayudo a entenderlo! Muy buenos tus videos de ordenamientos recursivos!!

    • @ChioCode
      @ChioCode  Před rokem

      Muchas gracias, me alegra que te ayuden en la facultad :)

  • @tomasmartin9065
    @tomasmartin9065 Před 8 měsíci

    increible video, sos un maquina

  • @roboguerrero4291
    @roboguerrero4291 Před rokem

    ¡SÍ!, otro de tus buenos vídeos con tus excelentes explicaciones : D

    • @ChioCode
      @ChioCode  Před rokem

      Muchas gracias por el comentario, espero que si les sirvan esas explicaciones 😸

  • @saulrivera4604
    @saulrivera4604 Před rokem

    Excelente Video muy didáctico, eres el mejor !

  • @juangras1253
    @juangras1253 Před rokem

    Ya me estaba alterando que no hubiera video en un rato, gracias Chio !

    • @ChioCode
      @ChioCode  Před rokem +1

      Jajajaja se me complica a veces hacerme el espacio para trabajar en los videos, pero seguirán saliendo, gracias por esperar 😃

    • @juangras1253
      @juangras1253 Před rokem

      @@ChioCode tu sigue por favor ! Tus explicaciones son buenísimas, estoy haciendo todo mi perfil profesional con lo que subes XD

  • @muecasdeldon2567
    @muecasdeldon2567 Před rokem

    Fan de los armadillos que curioso amigo, buen estilo

  • @alexxd3196
    @alexxd3196 Před rokem

    Justamente vimos hoy este tema en la universidad, me parece buenísimo tus vídeos para reforzar y profundizar los temas que vamos viendo!! :D
    Muchísimas gracias por todos estos vídeos explícativos que haces!

    • @ChioCode
      @ChioCode  Před rokem

      Me alegra que ayuden para reforzar todo lo de la universidad, gracias por tu apoyo ☺️

    • @MrjavoiThe
      @MrjavoiThe Před rokem

      Hubiera querido ver estos temas en la universidad me hubiera ayudado bastante en mi carrera, ya tiene 7 años que salí :(

  • @naren-7
    @naren-7 Před rokem +9

    Aquí dejo otra opción 👇:
    def quicksort(lista):
    # Si la lista está vacía, no hay nada que ordenar
    if len(lista) == 0:
    return []
    # Si la lista tiene un solo elemento, ya está ordenada
    elif len(lista) == 1:
    return lista
    # Si la lista tiene más de un elemento, seleccionamos el pivote
    pivote = lista[0]
    # Separamos la lista en los elementos menores y mayores que el pivote
    menores = [x for x in lista if x < pivote]
    mayores = [x for x in lista if x > pivote]
    # Ordenamos recursivamente cada uno de los dos grupos
    menores_ordenados = quicksort(menores)
    mayores_ordenados = quicksort(mayores)
    # Devolvemos la lista ordenada juntando los dos grupos ordenados y el pivote
    lista = menores_ordenados + [pivote] + mayores_ordenados
    return lista
    # Definimos una lista con valores desordenados
    arr = [3, 2, 4, 5, 12, 1, 5, 0]
    # Mostramos por pantalla los valores desordenados
    print(arr)
    # llamamos la funcion para ordenar y mostramos por pantalla la lista ordenada
    print( quicksort(arr))

    • @Fran-kc2gu
      @Fran-kc2gu Před 8 měsíci

      eso no es quicksort es mergesort, tambien iteraste dos veces en la lista de menores, mayores, con una iteracion es sufuciente para los 2 valores

  • @caro3815
    @caro3815 Před rokem

    Uwuwuwuw video nuevo!!! :3

  • @leodiecinueve1870
    @leodiecinueve1870 Před rokem

    Podrías proporcionar la complejidad temporal del algoritmo ?

  • @roMaita-ny3fl
    @roMaita-ny3fl Před 3 měsíci

    tkm chio

  • @joshigo9890
    @joshigo9890 Před rokem

    Hola bro, he estado viendo tu contenido estos días, ¡excelente calidad!
    Estudio ing. Informática, en mi materia de programación estamos viendo métodos de ordenamiento y busqueda; burbuja, inserción, selección, quicksort, búsqueda binaria, etc.
    Aún no hemos visto el tema de recursividad, el profesor nos pidió practicar quicksort sin recursividad, pero la verdad estuve el fin de semana trabajando con mis compañeros y no pudimos lograr hacerlo, se nos hacía el programa muy ineficiente sin recursividad, pero realmente no pudimos hacerlo. ¿Crees que se puede lograr realizar el código sin recursividad? La verdad la vimos muuuy dificil para mí y mis compañeros.
    Agradecería que me respondas, saludos

    • @ChioCode
      @ChioCode  Před rokem +1

      Hola carnal, muchas gracias por el mensaje.
      Y si, claro que se puede hacer una implementación iterativa. Puedes ver cómo lo hacen acá en geeksforgeeks con un stack de apoyo www.geeksforgeeks.org/iterative-quick-sort/
      Espero te ayude 😸

    • @joshigo9890
      @joshigo9890 Před rokem

      @@ChioCode

  • @realdiegor
    @realdiegor Před rokem

    Bro, cómo no tienes más subs?

  • @bearnny
    @bearnny Před rokem

    por favor podrias hacer un video de Round robin y merge short?

    • @ChioCode
      @ChioCode  Před rokem

      Ya tengo uno de Merge Sort lo puedes ver en la lista de reproducción de algoritmos de ordenamiento n.n

  • @sanchezmezaariadnaosiris6729

    Podrías mostrarnos cómo se hacen las pruebas de escritorio con estos ordenamientos?

    • @ChioCode
      @ChioCode  Před rokem

      Claro, seguramente lo aborde en un vídeo de testing, o podríamos verlo en un directo los miércoles 😊

  • @xeann908
    @xeann908 Před 9 měsíci

    Chio en que universidad estas dando clases ?

  • @zombiyeah
    @zombiyeah Před 10 měsíci

    En que universidad enseñas?

  • @mrslifertili
    @mrslifertili Před rokem

    podrias explicar el algoritmo de codificacion de polilineas? llevo una semana queriendo entenderle

    • @ChioCode
      @ChioCode  Před rokem

      Lo siento, no estoy familiarizado con ese algoritmo, tendría que investigar sobre él para poder saber de qué se trata 😞

    • @mrslifertili
      @mrslifertili Před rokem

      @@ChioCode entiendo, gracias por contestar c:

  • @gilbertogalindez3812
    @gilbertogalindez3812 Před rokem

    no te brindo una pizza porque ni para la comida de mi casa tengo, pero apenas empice a ganar plata como se debe te voy a invitar para donde las cariñosas, te lo mereces bro!

    • @ChioCode
      @ChioCode  Před rokem +1

      Gracias bro, con tu lindo mensaje y apoyo para crecer el canal es suficiente 😸

  • @eR1cK92
    @eR1cK92 Před rokem

    Hola chio , no me sale el quick sort si te queda tiempo para darle una mirada a ver que estoy haciendo mal se agradece drive.google.com/file/d/1yaKUjSEwI2t0sQaZdmYcG6x0ZMUuCeHA/view
    en la funcion partition la idea es devolver el min que seria el indice que tiene mi pivote ordenado, pero lo hago y se daña todo xD
    Ya no , viendo otras implementaciones me di cuenta que la forma en que recorria el arreglo se rompia y lo cambie por for(let i = left; i < right; i++){ ya funciona !

    • @ChioCode
      @ChioCode  Před rokem

      Perfecto Jhon, me alegra que hayas encontrado la solución :)