Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Algoritmos para ordenar mis calcetines

Algoritmos para ordenar mis calcetines

Presents in a funny way sorting algorithms to kids

ivanvladimir

October 26, 2019
Tweet

More Decks by ivanvladimir

Other Decks in Programming

Transcript

  1. ¿A qué me dedico? ◉ Trabajo con computadoras ◉ Quiero

    que las computadoras entiendan lo que decimos y que ellas mismas hablen ◉ Trabajo en IIMAS ◦ Matemáticas ◦ Computación
  2. Revisemos el título ◉ ¿Algoritmos? ◉ ¿Ordenar? ◉ Mis (mios

    de mi, pero en realidad de cualquiera) ◉ Calcetines ()
  3. 1. Poner la mano en la cabeza 2. Poner la

    otra mano en la panza 3. Golpear la cabeza 4. Sobar la panza 5. Repetir 3 y 4 Juego
  4. 1. Poner la palma extendida en su propia cabeza 2.

    Poner la palma extendida en su propia panza 3. Golpear la cabeza con toque suaves 4. Sobar la panza con movimientos circulares 5. Repetir 3 y 4, hasta que Ivan diga parar! Juego
  5. Entrada salida Recetas de cocina 1. Combina los ingredientes en

    un tazón grande 2. Agrega los huevos, la vainilla y el aceite vegetal 3. Calienta un sartén a temperatura media-alta 4. Vierte la mezcla con una cuchara y cocina por ambos lados hasta que esté dorado. 5. Sirve de inmediato.
  6. Entrada: hilera de calcetines Salida: hilera de calcetines (ordenado) •

    Repetir el número de calcetines menos uno, suponer que tenemos una repetición hecha ◦ Poner atención de la primera posición hasta el número de calcetines menos las repeticiones hechas ▪ Si calcetín en posición de atención es mayor que el siguiente: • Invertir los calcetines
  7. Entrada: hilera de calcetines Salida: hilera de calcetines (ordenado) •

    Repetir el número de calcetines menos uno, suponer que tenemos una repetición hecha ◦ Poner atención de la primera posición hasta el número de calcetines menos las repeticiones hechas #repeticiones ▪ Si calcetín en posición de atención es mayor que el siguiente posición: • Invertir los calcetines
  8. Algunas observaciones ◉ Se logró ordenar nuestros calcetines ◉ ¡Toma

    mucho tiempo! (69) ◉ Conforme pasan las repeticiones el chequeo es más rápido ◉ Los últimos calcetines ya quedan ordenados ◉ En algunos momentos damos vuelta y no cambiamos nada
  9. Entrada: hilera de calcetines Salida: hilera de calcetines (ordenado) •

    Dividir la hilera a la mitad: parte izquierda y parte derecha ◦ Si izquierda tiene más de un calcetín ordenar con este algoritmo caso contrario está ordenado ◦ Si derecha tiene más de un calcetín ordenar con este algoritmo caso contrario está ordenado ◦ Si último calcetín de izquierda < primero de derecha ▪ Regresar calcetines de izquierda + calcetines de derecha ▪ Regresar mezcla de izquierda y derecha
  10. Entrada: dos hileras de calcetines Salida: una hilera de calcetines

    (ordenado) • Hacer una hilera vacía de calcetines • Por cada calcetín en primera y segunda hilera ◦ Si primer calcetín primera hilera > que primer calcetín segunda hilera, agregar segundo calcetín a nueva hilera ◦ Si segundo calcetín primera hilera < que primer calcetín segunda hilera, agregar primer calcetín a nueva hilera ◦ Repetir hasta que no haya calcetines en hileras originales
  11. Algunas observaciones ◉ Se logró ordenar nuestros calcetines ◉ ¡Toma

    poco menos tiempo! (47 pasos) ◉ Hay dos funciones: cortar y mezclar ◉ Las mini listas estaban ordenadas
  12. Otros algoritmos ◉ Buscar (calcetines?) ◉ Encontrar el camino más

    corto entre dos puntos ◉ Muchos para cálculos matemáticos ◉ Esconder mensajes ◉ Todo lo que ejecuta una computadora ◉ ... muchos más