La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

L ES TRIS Utilisation des tableaux. P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion.

Présentations similaires


Présentation au sujet: "L ES TRIS Utilisation des tableaux. P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion."— Transcription de la présentation:

1 L ES TRIS Utilisation des tableaux

2 P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion

3 I NTRODUCTION Les tableaux permettent de stocker plusieurs éléments de même type au sein d'une seule entité, lorsque le type de ces éléments possède un ordre total, on peut donc les ranger en ordre croissant ou décroissant, trier un tableau c'est donc ranger les éléments d'un tableau en ordre croissant ou décroissant. Dans ce cours on ne fera que des tris en ordre croissant. Il existe plusieurs méthodes de tri qui se différencient par leur complexité d'exécution et leur complexité de compréhension pour le programmeur.

4 I NTRODUCTION Tous les algorithmes de tri utilisent une procédure qui permet d'échanger (de permuter) la valeur de deux variables dans le cas où les variables sont entières, la procédure échanger est la suivante : public void echanger(int[] tableau, int indice1, int indice2) { int iTemp; iTemp = tableau[indice1]; tableau[indice1] = tableau[indice2]; tableau[indice2] = iTemp ; } public void echanger(int[] tableau, int indice1, int indice2) { int iTemp; iTemp = tableau[indice1]; tableau[indice1] = tableau[indice2]; tableau[indice2] = iTemp ; }

5 P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion

6 T RIE INSERTION Dans ce cas, itérativement, nous insérons le prochain élément dans la partie qui est déjà triée précédemment. La partie de départ qui est triée est le premier élément.

7 T RIE INSERTION La liste à trier est divisée en deux : la partie gauche est triée, et la partie droite est non triée. À chaque passage, le premier élément de la partie non triée est introduit dans la partie triée, de telle sorte que cette dernière reste triée. Pour une liste de n éléments, n 1 passages sont nécessaires. La complexité de lalgorithme est donc en O(n 2 ).

8 T RIE INSERTION Exemple:

9 T RIE INSERTION Algorithme

10 T RIE INSERTION Avantages du tri par insertion : Méthode naturelle, facile à programmer. De plus, la méthode est dautant plus rapide que la liste à trier est presque ordonnée : la méthode est plus efficace pour une liste presque triée que pour une liste dans un ordre aléatoire. Un désavantage du tri par insertion est que, même si une liste est presque triée, lintroduction dun nouvel élément dans cette liste peut nécessiter le mouvement de la plupart des éléments de la liste. Si la liste à trier est très grande, ce mouvement de tous les éléments à chaque introduction dun nouvel élément dans la liste peut être très coûteux. Il serait souhaitable de pouvoir immédiatement placer un élément à sa place finale. Cest lavantage du tri par sélection.

11 P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion

12 T RIE SÉLECTION La liste à trier est divisée en deux : la partie gauche est triée et la partie droite est non triée. De plus, tous les éléments de la partie gauche sont plus petits (ou égaux) que les éléments de la partie droite. À chaque passage, lélément minimal de la partie non triée est échangé avec le premier élément de la liste non triée. Ainsi, la liste triée croît de 1 élément.

13 T RIE SÉLECTION Répéter 1. chercher le plus grand (le plus petit) élément 2. le mettre à la fin (au début)

14 T RIE SÉLECTION Exemple:

15 T RIE SÉLECTION Algorithme

16 T RIE SÉLECTION Complexité : Le pire cas, le meilleur cas et le cas moyen sont pareils (pourquoi?) Pour trouver le plus petit éléments, ( n-1) itérations sont nécessaires, pour le 2e plus petit élément ( n-2) itérations sont effectuées,.… Pour trouver le dernier plus petit élément, 0 itération sont effectuées. La complexité est donc de O(n(n-1)/2)

17 P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion

18 T RI À BULLES Le trie à bulle consiste à parcourir le tableau, par exemple de gauche à droite, en comparant les éléments côte à côte et en les permutant si ils ne sont pas dans le bon ordre. Au cours dune passe du tableau, les plus grands éléments remontent de proche en proche vers la droite comme des bulles vers la surface. On sarrête dès que lon détecte que le tableau est trié : si aucune permutation na été faite au cours dune passe.

19 T RI À BULLES La stratégie de cet algorithme est comme suit : 1. Parcourir le tableau en comparant deux à deux les éléments successifs, permuter s'ils ne sont pas dans l'ordre. 2. Répéter tant que des permutations sont effectuées.

20 T RI À BULLES Exemple:

21 T RI À BULLES Algorithme: FONCTION Tri_bulle (Tableau a[1:n]) REPETER permut = FAUX POUR i DE 0 à n-1 FAIRE SI a[i] > a[i+1] ALORS echanger a[i] et a[i+1] permut = VRAI FIN SI TANT QUE permut = VRAI FIN FONCTION FONCTION Tri_bulle (Tableau a[1:n]) REPETER permut = FAUX POUR i DE 0 à n-1 FAIRE SI a[i] > a[i+1] ALORS echanger a[i] et a[i+1] permut = VRAI FIN SI TANT QUE permut = VRAI FIN FONCTION

22 T RI À BULLES La différence entre le tri à bulles et le tri par sélection est que le tri à bulle compare chaque paire (u,v) de cases consécutives du tableau non trié en commençant par le début du tableau. À chaque fois que u > v, u et v sont échangés. Le fait de comparer chaque paire de cases consécutives permet de faire moins de passages que le tri par sélection : si au cours dun passage aucun échange na été effectué, alors la liste est triée et on sarrête. La complexité dans le pire des cas est toujours O(n2), mais dun point de vue pratique, le tri à bulles est plus rapide.

23 P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion

24 M ÉTHODE DE RECHERCHE Recherche séquentielle On cherche à partir du début et on parcours lensemble des valeurs de notre tableau jusquà ce quon ait trouvé la valeur souhaité.

25 M ÉTHODES DE RECHERCHE La méthode dichotomique La dichotomie (« couper en deux » en grec) est, en algorithmique, un processus de recherche où, à chaque étape, on coupe en deux parties (pas forcément égales) un espace de recherche qui devient restreint à l'une de ces deux parties.algorithmiqueprocessus rechercheespace de recherche

26 E XEMPLE Prenons un exemple simple et ludique pour illustrer le mécanisme de recherche par dichotomie : Pierre propose à Paul le jeu suivant : « choisis en secret un nombre compris entre 0 et 100 ; je vais essayer de le deviner le plus rapidement possible, en ne pouvant que te poser des questions auxquelles tu réponds par oui ou par non ». Paul choisit 66 et attend les questions de Pierre : Pierre sait que le nombre est entre 0 et 100 ; au milieu se trouve 50, il demande donc : « Est-ce que le nombre est plus grand que 50 ? » Paul : « Oui » Pierre sait maintenant que le nombre est entre 51 et 100 ; au milieu se trouve 75, il demande donc : « Est-ce que le nombre est plus grand que 75 ? » Paul : « Non » Pierre sait maintenant que le nombre est entre 51 et 75 ; au milieu se trouve 63, il demande donc : « Est-ce que le nombre est plus grand que 63 ? » Paul : « Oui » Pierre sait maintenant que le nombre est entre 64 et 75 ; au milieu se trouve 69, il demande donc : « Est-ce que le nombre est plus grand que 69 ? » Paul : « Non » Pierre sait maintenant que le nombre est entre 64 et 69 ; au milieu se trouve 66, il demande donc : « Est-ce que le nombre est plus grand que 66 ? » Paul : « Non » Pierre sait maintenant que le nombre est entre 64 et 66 ; au milieu se trouve 65, il demande donc : « Est-ce que le nombre est plus grand que 65 ? » Paul : « Oui » Pierre sait maintenant que le nombre est entre 66 et 66, autrement dit qu'il s'agit de 66 : il a trouvé le nombre choisi par Paul. Cette méthode itérative permet à Pierre de trouver le nombre en posant en moyenne moins de questions que s'il procédait par des questions du type « Est-ce que le nombre est égal à 30 ? ».

27 A LGORITHME


Télécharger ppt "L ES TRIS Utilisation des tableaux. P LAN Introduction Tri insertion Tri sélection Tri à bulles Méthodes de recherche Conclusion."

Présentations similaires


Annonces Google