Este projeto fará com que você classifique os dados em uma pilha, com um conjunto limitado de instruções, utilizando o menor número possível de ações. Para ter sucesso você terá que manipular vários tipos de algoritmos e escolher a solução mais adequada (entre muitas) para uma classificação otimizada dos dados.
O projeto Push swap é um projeto de algoritmo muito simples e altamente direto: os dados devem ser classificados.
Você tem à sua disposição um conjunto de valores inteiros, 2 pilhas e um conjunto de instruções para manipular ambas as pilhas.
Seu objetivo? Escreva um programa em C chamado push_swap que calcula e exibe na saída padrão o menor programa, feito de instruções da linguagem Push swap, que classifica os inteiros recebidos como argumentos.
Fácil?
Veremos...
Escrever um algoritmo de classificação é sempre uma etapa muito importante na jornada de um desenvolvedor. Muitas vezes é o primeiro encontro com o conceito de complexidade.
Algoritmos de classificação e sua complexidade fazem parte das questões clássicas discutidas durante entrevistas de emprego. Provavelmente é um bom momento para examinar esses conceitos, já que você terá que enfrentá-los em algum momento.
Os objetivos de aprendizagem deste projeto são rigor, uso de C e uso de algoritmos básicos.
Especialmente focando em sua complexidade.
Classificar valores é simples. Classificá-los da maneira mais rápida possível é menos simples. Principalmente porque de uma configuração de inteiros para outra, a solução de classificação mais eficiente pode ser diferente.
A documentação desse projeto ficou melhor formatada no Notion, cuidado ao clicar no link.