Skip to content
ocrossi edited this page Feb 5, 2020 · 3 revisions

Welcome to my push_swap's wiki!

EN :

Subject is in the code session.

Compiling and executing the code is explained in the readme file

This subject is about coding a sorting algorithm with a limit set of instructions. It introduces the concept of complexity in algorithmics.

My algorithm is divided in 2 parts.

For the low level piles (20 or lower) i apply the sorting algorithm adapted to push swap instructions. It consists in storing on b the numbers by decrescent number the inputs, quick sort A pile when it's 3 elements long and then push on a the numbers stored on b.

The bigger level of this algorithm is a divide and conquer strategy.

Divide input in pockets of numbers according to the median of the pile, adapted each iteration of divide groups. Repeat until it comes to the low level case.

Apply low level case

keep splitting median groups if needed

FR :

Le sujet est dans l'onglet code du repo

La compilation et l'execution du code est expliquée dans le readme

Le sujet demande le codage d'un algorithme de tri avec un ensemble limité d'instructions. Il introduit le concept de complexité en algorithmique.

Mon algorithme est divisé en 2 parties.

Pour les piles de bas niveau (20 ou moins) j'applique l'algorithme de tri adapté pour pousser les instructions de swap. Il consiste à stocker sur b les nombres par nombre décroissant des entrées, à trier rapidement une pile A lorsqu'elle fait 3 éléments puis à pousser sur a les nombres stockés sur b.

Le plus grand niveau de cet algorithme est une stratégie de divide and conquer.

Divisez l'entrée en poches de nombres en fonction de la médiane de la pile, adaptée à chaque itération des groupes de division. Répétez jusqu'à ce qu'il s'agisse du boîtier de bas niveau.

Appliquer un cas de bas niveau

continuez à diviser les groupes en fonction de leur mediane si nécessaire

Clone this wiki locally