Skip to content

mello-sdn/Push_swap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Push_swap

Push_swap Badge

📝 Résumé

push_swap est un projet de tri algorithmique où l'objectif est de trier des données dans une pile en utilisant un ensemble limité d'instructions, tout en visant le plus petit nombre d'actions possible. Ce projet nécessite de travailler avec différents algorithmes et de choisir le plus approprié pour un tri de données optimisé Objectifs principaux :

  • Créer un programme capable de trier les nombres dans la pile a en ordre croissant grace à la pile b , le tout avec le minimum d'opérations possible (imposé par le sujet)
  • Maîtriser les concepts de structures de données (piles) / LIFO (Last In, First Out)
  • Comprendre et implémenter des algorithmes de tri efficaces

🔧 Installation

Cloner le projet

git clone https://github.com/mello-sdn/Push_swap.git
cd push_swap

Compilation

make

💻 Utilisation

Programme push_swap

# Exemple basique
./push_swap 2 1 3 6 5 8
# Sortie : liste d'instructions pour trier les nombres
sa
pb
pb
pb
sa
pa
pa
pa

# Gestion d'erreurs basique
./push_swap 0 one 2 3
Error

Vérification avec checker

# Avec le checker fourni
ARG="4 67 3 87 23"; ./push_swap $ARG | ./checker_OS $ARG
Resultat attendu : OK

📚 Points clés à retenir & Ressource

Concepts Algorithmiques

  • Complexité : Comprendre et optimiser la complexité temporelle de votre algorithme (voir notation big O)
  • Choix d'algorithme : Différentes approches selon le nombre d'éléments (tri à bulles, tri rapide, radix sort, etc.) j'ai personnellement choisi le Turkish Algo
  • Optimisation : Minimiser le nombre d'opérations nécessaires

Gestion d'Erreurs

  • Arguments non entiers
  • Arguments dépassant les limites d'un int
  • Présence de doublons
  • Chaînes vides

Ressource


Conseils

  • Commencez par implémenter toutes les opérations
  • Testez chaque opération individuellement
  • Développez d'abord un algorithme simple qui fonctionne
  • Optimisez progressivement
  • Bien prendre en compte les cas d'erreurs (int min max, doublons, charactères invalides etc.. ainsi que les leaks)

✔️ Note Finale


125

About

42cursus push_swap

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published