SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheRiadh Harizi
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximationWael Ismail
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009Morom Bil Morom
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018salah fenni
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptMbarkiIsraa
 
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éesAnass41
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3siRiadh Harizi
 

Mais procurados (20)

Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
éNoncés+corrections bac2009
éNoncés+corrections bac2009éNoncés+corrections bac2009
éNoncés+corrections bac2009
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
Complexité_ENSI_2011.ppt
Complexité_ENSI_2011.pptComplexité_ENSI_2011.ppt
Complexité_ENSI_2011.ppt
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
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
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 

Destaque

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 Trilotfibenromdhane
 
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 trisMohamed Lahby
 
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écursiveslotfibenromdhane
 
Ch7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-CopmlétudeCh7 algorithmes NP-Copmlétude
Ch7 algorithmes NP-Copmlétudelotfibenromdhane
 
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 3Riadh 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 Baselotfibenromdhane
 
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_programmationChingongou ­
 
M01 Metier et Formation
M01 Metier et FormationM01 Metier et Formation
M01 Metier et FormationChingongou ­
 
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é)salah fenni
 
Cours access
Cours accessCours access
Cours accessmsodjinou
 

Destaque (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
 
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
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
 

Semelhante a Animations tris

Semelhante a Animations tris (7)

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