Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 1.73 KB

README.md

File metadata and controls

27 lines (18 loc) · 1.73 KB

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.