01 // LE PROJET EN BREF
PUSH SWAP
CTrier une liste avec seulement deux piles et une poignée d'opérations autorisées.
Le problème est de trier des nombres, mais avec des règles très restrictives : on ne dispose que de deux piles et de quelques mouvements élémentaires, un peu comme un jeu de patience. L'objectif n'est pas seulement d'y arriver, mais d'y arriver en un minimum de coups — ce qui transforme un exercice de tri en un vrai problème d'optimisation.
Binaire push_swap triant une liste d'entiers via deux piles et un jeu d'opérations restreint, à l'aide d'un tri radix décimal qui écrit les instructions au fil de l'eau.
PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONmake
SOURCEINSPECTOR READY
03 // APPORTS CLÉS
- Un tri radix adapté à un jeu d'opérations qui n'autorise ni accès direct ni comparaison arbitraire
- Deux listes doublement chaînées circulaires pour rendre rotation et transfert en temps constant
- Instructions écrites au fil de l'eau, sans liste intermédiaire en mémoire
AU-DELÀ DU SUJET
- Tri radix (radix.c) sur la représentation binaire des valeurs, au lieu d'un tri par insertion naïf
- Tri à bulles réduit conservé pour les très petites listes, où le radix n'est pas rentable
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…