Skip to content

Este proyecto involucra ordenar datos en un stack, con un conjunto limitado de instrucciones en el número más pequeño de movimientos. Para hacerlo posible, hay que manipular varios algoritmos de ordenación y elegir la solución más apropiada para un ordenamiento óptimo.

Notifications You must be signed in to change notification settings

smetola/push_swap

Repository files navigation

push_swap

push_swap es un proyecto de algoritmia que se centra en ordenar un conjunto de datos utilizando stacks y un conjunto limitado de instrucciones. El reto es conseguir la ordenación más eficiente posible con el menor número de movimientos.

¿Qué hace push_swap?

  • Tienes dos stacks (a y b) y un conjunto de instrucciones para mover elementos entre ellos.
  • El objetivo es ordenar los números del stack a en orden ascendente, utilizando el menor número de operaciones.
  • Algunas de las operaciones disponibles incluyen intercambiar elementos, rotar el stack y mover elementos entre los stacks.

Instrucciones clave

  • sa / sb – Intercambia los dos primeros elementos del stack.
  • pa / pb – Mueve el primer elemento de un stack al otro.
  • ra / rb – Desplaza todos los elementos hacia arriba en el stack.
  • rra / rrb – Desplaza todos los elementos hacia abajo en el stack.

¿Qué he aprendido?

Este proyecto ha sido una gran experiencia, ya que me ha permitido aprender:

  • Manipulación de nodos: He trabajado intensamente con estructuras de datos dinámicas como nodos y listas enlazadas para gestionar los stacks.
  • Algoritmos de ordenación: He explorado diferentes algoritmos de ordenación, buscando la solución más eficiente según la configuración de los datos.
  • Optimización y complejidad: Entender y optimizar la complejidad de los algoritmos de ordenación ha sido un desafío clave en este proyecto.
  • Parsing avanzado: Aprender a parsear y validar los datos de entrada eficientemente ha sido otro aspecto fundamental del desarrollo.

Este proyecto es un gran paso en mi camino para entender la importancia de la complejidad algorítmica y la optimización en la programación.

About

Este proyecto involucra ordenar datos en un stack, con un conjunto limitado de instrucciones en el número más pequeño de movimientos. Para hacerlo posible, hay que manipular varios algoritmos de ordenación y elegir la solución más apropiada para un ordenamiento óptimo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published