Skip to content

Discovering the world of algorithms with a painful project.

Notifications You must be signed in to change notification settings

Staredef9/Push_Swap_42

Repository files navigation

Push_Swap

Progetto per la scuola 42 Firenze LUISS. Primo approccio con la complessita' degli algoritmi. Il progetto prevede l'implementazione di un algoritmo di ordinamento con dei limiti precisi, sia nel numero che nel tipo di mosse per ordinare. Ci è permesso utilizzare solo due stack, e utilizzare un numero di mosse inferiore a 10000 per risolvere l'ordinamento di una quantità tra 0 e 500 numeri, sia positivi che negativi. Le mosse che si possono utilizzare sono la rotazione e rotazione contraria di uno stack alla volta o di entrambi assieme, il push di un valore tra uno stack e l'altro. L'esercizio è stato molto utile prima di tutto per comprendere più approfonditamente l'utilizzo e l'importanza delle liste concatenate, inoltre ovviamente è stato utilissimo per iniziare ad approfondire lo studio degli algoritmi, i concetti di notazione asintotica, big O, big Omega, big Theta. L'algoritmo che ho implementato, Radix Sort, dopo vari approfondimenti online e con colleghi, non è il più performante su piccole quantità di numeri, ma data la natura di esercizio del progetto, l'ho trovato molto interessante per imparare anche a gestire le operazioni di manipolazione di bit. Uno degli altri aspetti importanti di questo progetto, è stato anche imparare a gestire la memoria in maniera diligiente, e la comprensione dell'importanza dei test su progetti complessi.

About

Discovering the world of algorithms with a painful project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published