SlideShare una empresa de Scribd logo
1 de 15
II. Le tri à bulles

Hadidene Oussema

Def Proc Tri_a_bulles (var T : tab ; n : entier )
répéter 23 13 23 23
23 13 23 13
2
5
8
2
8
5
5
8
5
tr  vrai
Pour i de 1 à n-1 faire
Si (t[i]>t[i+1]) alors trié
Tableau
proc permut(t[i],t[i+1])
tr  faux
Fin si
Fin pour
jusqu’à (tr)
Fin Tri_a_bulles
1
III. Le tri par sélection

Hadidene Oussema

Def Proc Tri_selection (var T : tab ; n : entier )
5
Pour 23 1 à n-1 13
i de 2
faire 8
P  Fn pos_min(t,i,n)
Si (P≠i) alors
Tableau trié
proc permut(t[i],t[P])
Fin si
Fin pour
Fin Tri_selection

2
IV. Le tri par insertion

Hadidene Oussema

Def Proc Tri_insertion (var T : tab ; n : entier )
Pour i de 2 à n faire
Si (T[i-1] > T[i]) alors 8
23
2
13
5
E  T[i]
Pi
Tableau trié
tant que (T[P-1] > e) et (P > 1) faire
T[P]  t[p-1]
P  P-1
Fin tant que
T[P]  E
Fin si
Fin pour
Fin Tri_insertion

3
V. Le tri par Shell

Hadidene Oussema

-5 30 0 -2 42 22 9 -4 10 15 40 -9 12 28 14
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

ème Sous du pas avec
Déterminationvecteur maximal
21er Sous vecteur avec

P = 13

4
V. Le tri par Shell

Hadidene Oussema

-5 14 0 -2 42 22 9 -4 10 15 40 -9 12 28 30
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Diminution du pas

P = 4 (13 Div 3)

5
V. Le tri par Shell

Hadidene Oussema

-5 14 0 -2 10 22 9 -4 12 15 40 -9 42 28 30
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Le 2ème sous tableau avec

P=4

6
V. Le tri par Shell

Hadidene Oussema

-5 14 0 -2 10 15 9 -4 12 22 40 -9 42 28 30
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Le 3ème sous tableau avec

P=4

7
V. Le tri par Shell

Hadidene Oussema

-9 -5 0
-5 14 -4 -2 10 15 10 12 12 22 30 28 42 28 40
0 9 9 -4 14 15 22 -9 30 40 42
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Diminution du pas

P = 1 (4 Div 3)
Nous appliquons le tri par insertion

Plus le tableau est grand, plus le tri est efficace !!!
8
Def Proc Tri_Shell (var T : tab ; n : entier )
Hadidene Oussema
p0
Tant que (p<n) faire
Clause 0
p  (3 * p) + 1
Fin tant que
Tant que (p ≠ 1) faire
p  p div 3
Pour i de p+1 à n faire
e  T[i]
ji
Tant que (j>p) et (T[j-p]>e) faire
Clause 1
Clause 2
T[j]  T[j-p]
Clause 3
j  j-P
Fin tant que
T[j]  e
Fin pour
Fin tant que
Fin Tri_Shell
9

V. Le tri par Shell
V. Le tri par Shell

Hadidene oussema

6
n = 10
p=0

3

0

9

1

7

8

2

5

4

1

2

3

4

5

6

7

8

9

10

Tant que (p<n) faire
p  (3 * p) + 1
Fin tant que

Clause 0

it1 : (0<10) | p = 1
it2 : (1<10) | p = 4
it3 : (4<10) | p = 13
it4 : (13<10)  arrêt

10
V. Le tri par Shell

Hadidene Oussema

6
n = 10
p = 13

3

0

9

1

7

8

2

5

4

1

2

3

4

5

6

7

8

9

10

Tant que (p ≠ 1) faire
p  p div 3
Pour i de p+1 à n faire
e  T[i]
ji
Tant que (j>p) et (T[j-p]>e)
faire
Clause 2
Clause 3
T[j]  T[j-p]
j  j-P
Fin tant que
T[j]  e
Fin pour
Fin tant que

Clause 1

11
V. Le tri par Shell

Hadidene Oussema

6
n = 10
p = 13

3

0

9

1

7

8

2

5

4

1

2

3

4

5

6

7

8

9

10

C1_it1 : (13≠1) : p = 4 C2_it1 : i=5|e=1|j=5 C3_it1 : (5>4)&(6>1)| j=1
C3_it2 :
(1>4)A
C2_it2 : i=6|e=7|j=6 C3_it1 :
C2_it3 : i=7|e=8|j=7 C3_it1 :
C2_it4 : i=8|e=2|j=8 C3_it1 :
C3_it2 :
C2_it5 : i=9|e=5|j=9 C3_it1 :
C3_it2 :
C2_it6 : i=10|e=4|j=10 C3_it1 :
C3_it2 :

(6>4)&(3>7)  A
(7>4)&(0>8)  A
(8>4)&(9>2) |j=4
(4>4)  A
(9>4)&(6>5) |j=5
(5>4)&(1>5)  A
(10>4)&(7>4) |j=6

(6>4)&(3>4)  A
12
V. Le tri par Shell

Hadidene oussema

0
1

1
3

2
0

3
2

4
5

5
4

6
8

7
9

8
6

9
7

1

2

3

4

5

6

7

8

9

10

C1_it2 : (4≠1) :

p = 1 C2_it1 : i=2|e=3|j=2 C3_it1 : (2>1)&(1>3)  A
C2_it2 : i=3|e=0|j=3 C3_it1 : (3>1)&(3>0) | j=2
C3_it2 : (2>1)&(1>0) | j=1
C3_it3 :
(1>1)  A

C2_it10 :

C1_it2:(1≠1)A

13
VI. Le tri par Fusion

Hadidene oussema

0

1

3

6

9

2

4

5

7

8

1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

6

7

8

9

10

14
VI. Le tri par Fusion

Hadidene oussema

0

1

3

6

9

2

4

5

7

8

1

2

3

4

5

6

7

8

9

10

0

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

10

15

Más contenido relacionado

La actualidad más candente

Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
Anass41
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
mohamed_SAYARI
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
Afef Ilahi
 

La actualidad más candente (20)

Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
Serie
SerieSerie
Serie
 
Serie2
Serie2Serie2
Serie2
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 

Destacado

Ch5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de TriCh5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de Tri
lotfibenromdhane
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
Riadh Harizi
 
Ch3 Algorthmique Avancée - Méthodes Récursives
Ch3 Algorthmique Avancée - Méthodes RécursivesCh3 Algorthmique Avancée - Méthodes Récursives
Ch3 Algorthmique Avancée - Méthodes Récursives
lotfibenromdhane
 
Ch7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-CopmlétudeCh7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-Copmlétude
lotfibenromdhane
 
Ch2 Algorthmique Avancée - Récursivité
Ch2 Algorthmique Avancée - RécursivitéCh2 Algorthmique Avancée - Récursivité
Ch2 Algorthmique Avancée - Récursivité
lotfibenromdhane
 
Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3
Riadh Harizi
 
Ch1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de BaseCh1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de Base
lotfibenromdhane
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Chingongou ­
 
Cours access
Cours accessCours access
Cours access
msodjinou
 

Destacado (20)

Ch5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de TriCh5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de Tri
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 
Chapitre 3 Les algorithmes de recherche et de tris
Chapitre 3 Les algorithmes de recherche et de trisChapitre 3 Les algorithmes de recherche et de tris
Chapitre 3 Les algorithmes de recherche et de tris
 
Cours as dch3
Cours as dch3Cours as dch3
Cours as dch3
 
Ch3 Algorthmique Avancée - Méthodes Récursives
Ch3 Algorthmique Avancée - Méthodes RécursivesCh3 Algorthmique Avancée - Méthodes Récursives
Ch3 Algorthmique Avancée - Méthodes Récursives
 
Ch7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-CopmlétudeCh7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-Copmlétude
 
Cats
CatsCats
Cats
 
Ch2 Algorthmique Avancée - Récursivité
Ch2 Algorthmique Avancée - RécursivitéCh2 Algorthmique Avancée - Récursivité
Ch2 Algorthmique Avancée - Récursivité
 
Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
Coursasdch3
Coursasdch3Coursasdch3
Coursasdch3
 
Ch1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de BaseCh1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de Base
 
Algo tri
Algo triAlgo tri
Algo tri
 
GP TDI
GP TDIGP TDI
GP TDI
 
TP 3 ACCESS
TP 3 ACCESSTP 3 ACCESS
TP 3 ACCESS
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
 
M01 Metier et Formation
M01 Metier et FormationM01 Metier et Formation
M01 Metier et Formation
 
TP 2 ACCESS
TP 2 ACCESSTP 2 ACCESS
TP 2 ACCESS
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Cours access
Cours accessCours access
Cours access
 

Similar a Animations tris (8)

éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
Resumer sur les tris
Resumer sur les trisResumer sur les tris
Resumer sur les tris
 
13s17 z83iw
13s17 z83iw13s17 z83iw
13s17 z83iw
 
4 d controle 5-puissances
4 d controle 5-puissances4 d controle 5-puissances
4 d controle 5-puissances
 
Resume algorithme
Resume algorithmeResume algorithme
Resume algorithme
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 
Enigme 8correction
Enigme 8correctionEnigme 8correction
Enigme 8correction
 
Racines carrées EB8.pdf
Racines carrées EB8.pdfRacines carrées EB8.pdf
Racines carrées EB8.pdf
 

Animations tris

  • 1. II. Le tri à bulles Hadidene Oussema Def Proc Tri_a_bulles (var T : tab ; n : entier ) répéter 23 13 23 23 23 13 23 13 2 5 8 2 8 5 5 8 5 tr  vrai Pour i de 1 à n-1 faire Si (t[i]>t[i+1]) alors trié Tableau proc permut(t[i],t[i+1]) tr  faux Fin si Fin pour jusqu’à (tr) Fin Tri_a_bulles 1
  • 2. III. Le tri par sélection Hadidene Oussema Def Proc Tri_selection (var T : tab ; n : entier ) 5 Pour 23 1 à n-1 13 i de 2 faire 8 P  Fn pos_min(t,i,n) Si (P≠i) alors Tableau trié proc permut(t[i],t[P]) Fin si Fin pour Fin Tri_selection 2
  • 3. IV. Le tri par insertion Hadidene Oussema Def Proc Tri_insertion (var T : tab ; n : entier ) Pour i de 2 à n faire Si (T[i-1] > T[i]) alors 8 23 2 13 5 E  T[i] Pi Tableau trié tant que (T[P-1] > e) et (P > 1) faire T[P]  t[p-1] P  P-1 Fin tant que T[P]  E Fin si Fin pour Fin Tri_insertion 3
  • 4. V. Le tri par Shell Hadidene Oussema -5 30 0 -2 42 22 9 -4 10 15 40 -9 12 28 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ème Sous du pas avec Déterminationvecteur maximal 21er Sous vecteur avec P = 13 4
  • 5. V. Le tri par Shell Hadidene Oussema -5 14 0 -2 42 22 9 -4 10 15 40 -9 12 28 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Diminution du pas P = 4 (13 Div 3) 5
  • 6. V. Le tri par Shell Hadidene Oussema -5 14 0 -2 10 22 9 -4 12 15 40 -9 42 28 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Le 2ème sous tableau avec P=4 6
  • 7. V. Le tri par Shell Hadidene Oussema -5 14 0 -2 10 15 9 -4 12 22 40 -9 42 28 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Le 3ème sous tableau avec P=4 7
  • 8. V. Le tri par Shell Hadidene Oussema -9 -5 0 -5 14 -4 -2 10 15 10 12 12 22 30 28 42 28 40 0 9 9 -4 14 15 22 -9 30 40 42 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Diminution du pas P = 1 (4 Div 3) Nous appliquons le tri par insertion Plus le tableau est grand, plus le tri est efficace !!! 8
  • 9. Def Proc Tri_Shell (var T : tab ; n : entier ) Hadidene Oussema p0 Tant que (p<n) faire Clause 0 p  (3 * p) + 1 Fin tant que Tant que (p ≠ 1) faire p  p div 3 Pour i de p+1 à n faire e  T[i] ji Tant que (j>p) et (T[j-p]>e) faire Clause 1 Clause 2 T[j]  T[j-p] Clause 3 j  j-P Fin tant que T[j]  e Fin pour Fin tant que Fin Tri_Shell 9 V. Le tri par Shell
  • 10. V. Le tri par Shell Hadidene oussema 6 n = 10 p=0 3 0 9 1 7 8 2 5 4 1 2 3 4 5 6 7 8 9 10 Tant que (p<n) faire p  (3 * p) + 1 Fin tant que Clause 0 it1 : (0<10) | p = 1 it2 : (1<10) | p = 4 it3 : (4<10) | p = 13 it4 : (13<10)  arrêt 10
  • 11. V. Le tri par Shell Hadidene Oussema 6 n = 10 p = 13 3 0 9 1 7 8 2 5 4 1 2 3 4 5 6 7 8 9 10 Tant que (p ≠ 1) faire p  p div 3 Pour i de p+1 à n faire e  T[i] ji Tant que (j>p) et (T[j-p]>e) faire Clause 2 Clause 3 T[j]  T[j-p] j  j-P Fin tant que T[j]  e Fin pour Fin tant que Clause 1 11
  • 12. V. Le tri par Shell Hadidene Oussema 6 n = 10 p = 13 3 0 9 1 7 8 2 5 4 1 2 3 4 5 6 7 8 9 10 C1_it1 : (13≠1) : p = 4 C2_it1 : i=5|e=1|j=5 C3_it1 : (5>4)&(6>1)| j=1 C3_it2 : (1>4)A C2_it2 : i=6|e=7|j=6 C3_it1 : C2_it3 : i=7|e=8|j=7 C3_it1 : C2_it4 : i=8|e=2|j=8 C3_it1 : C3_it2 : C2_it5 : i=9|e=5|j=9 C3_it1 : C3_it2 : C2_it6 : i=10|e=4|j=10 C3_it1 : C3_it2 : (6>4)&(3>7)  A (7>4)&(0>8)  A (8>4)&(9>2) |j=4 (4>4)  A (9>4)&(6>5) |j=5 (5>4)&(1>5)  A (10>4)&(7>4) |j=6 (6>4)&(3>4)  A 12
  • 13. V. Le tri par Shell Hadidene oussema 0 1 1 3 2 0 3 2 4 5 5 4 6 8 7 9 8 6 9 7 1 2 3 4 5 6 7 8 9 10 C1_it2 : (4≠1) : p = 1 C2_it1 : i=2|e=3|j=2 C3_it1 : (2>1)&(1>3)  A C2_it2 : i=3|e=0|j=3 C3_it1 : (3>1)&(3>0) | j=2 C3_it2 : (2>1)&(1>0) | j=1 C3_it3 : (1>1)  A C2_it10 : C1_it2:(1≠1)A 13
  • 14. VI. Le tri par Fusion Hadidene oussema 0 1 3 6 9 2 4 5 7 8 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 14
  • 15. VI. Le tri par Fusion Hadidene oussema 0 1 3 6 9 2 4 5 7 8 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 15