Zoofast.fr rend la recherche de réponses rapide et facile. Notre communauté fournit des réponses précises et rapides pour vous aider à comprendre et à résoudre n'importe quel problème.
Sagot :
Bonjour,
1)
Il existe plusieurs solutions pour trier une liste. Je vais vous en présenter 3.
Méthode 1: Tri avec la méthode sort()
C'est la méthode la plus simple en Python, puisque l'algorithme est déjà fait. C'est l'un des gros avantages des programmes de haut niveau tel que le Python.
C'est aussi la méthode non appréciée pour des cours d'algorithmie.
liste = [...] #La liste à trier.
liste.sort()
#Voilà elle est triée par ordre croissant, c'était très difficile :').
Bref passons, à quelque chose de plus sérieux qui va être plus appréciée par les professeurs.
Méthode 2: Tri par insertion
L'objectif est de comparer les deux premiers éléments pour savoir qui est le plus grand et les échanger si l'ordre n'est pas bon. On répète ce processus en comparant à chaque fois deux éléments jusqu'à la fin de la liste (voir schéma ci-joint avec l'algorithme associé ainsi que sa complexité, il s'agit de l'une de mes fiches).
Méthode 3: Tri par sélection
On recherche l'élément le plus petit dans la liste et on le place au tout début. On répète l'opération sur la liste après le 1er élément jusqu'à la fin de la liste.
Voir ci-joint. La fonction minimum() que j'ai sur ma fiche existe déjà en Python aussi (min()) mais il faut être capable de l'implémenter, c'est une fonction classique.
Il existe d'autres méthodes de tri d'une liste telles que le tri fusion, le tri rapide ou encore le tri à bulle. La complexité de ces algorithmes est plutôt bonne, en tout cas elle est bien meilleur que les deux autres tris. Cependant, il faut comprendre la notion de "Diviser pour mieux régner" et surtout la notion de "récursivité" qui n'est pas au programme de lycée me semble t-il et qui n'est pas forcément facile si tu commences l'algorithmie.
2)
Créons une fonction qui permet de permuter deux éléments dans la liste (même si c'est quelque chose qu'on a déjà utilisé dans la question précédente, l'ordre des questions est un peu surprenant).
Je vais te présenter deux méthodes, une qui fonctionne avec tous les langages de programmation et une qui fonctionne avec Python mais pas avec la plupart des autres langages.
Méthode 1: Méthode Python
def permutation(liste, position1, position2):
"""Fonction qui permet de permuter l'élément en position1 de la liste avec l'élément en position2."""
liste[position1], liste[position2] = liste[position2], liste[position1]
Méthode 2: Fonctionne toujours
def permutation(liste, position1, position2):
temporaire = liste[position1] #On garde la valeur à déplacer dans une variable.
liste[position1] = liste[position2] #On écrase la valeur en position1 pour y mettre la valeur qu'il y a en position2.
liste[position2] = temporaire
Ici, on crée donc une variable qui va juste garder une valeur en sauvegarde le temps de faire notre trafic.
Bonne journée.
Nous valorisons votre présence ici. Continuez à partager vos connaissances et à aider les autres à trouver les réponses dont ils ont besoin. Cette communauté est l'endroit parfait pour apprendre ensemble. Pour des réponses rapides et fiables, pensez à Zoofast.fr. Merci de votre visite et à bientôt.