Bonjour, je suis entrain de coder un programme qui utilise un pivot pour trier des données.
Je vais vous donner un exemple pour que vous comprenez bien.
Imaginons, une liste chainée avec les valeurs suivantes :
-7 -8 -3 35 2
Pour avoir un pivot optimal, j'ai besoin dans cet exemple, de la valeur qui a 2 valeurs en dessous, et 2 valeurs au dessus. Donc ici -3. Pour trouver cette valeur c'est simple, je parcours x fois ma liste chainée jusqu'a trouver une valeur qui a 2 valeurs en dessous et 2 valeurs au dessus.
Le problème est le suivant :
Imaginons la liste chainée suivante :
-7 -8 35 3 -3
Dans cet exemple, mon pivot est toujours -3. Mais pour le trouver, j'ai dû parcourir toutes la liste chainée. Dans l'exemple, elle est de 5 valeurs. Ce n'est pas grave. Mais si ma liste chainée fait 2000 valeurs voir plus, je me retrouve a attendre trop longtemps pour avoir le résultat de mon pivot.
Avez-vous une idée de comment résoudre ce problème svp ? merci![]()
Partager