revision Matière Informatique

Révision Informatique

Les méthodes de tri :

Les méthodes de tri d'un tableau (par sélection, à bulles et par insertion).

Introduction :

Un algorithme de tri est une suite finie d'instructions servant à réordonner une séquence d'éléments suivant un critère fixé à priori (relation d'ordre total ).

par exemple si on a un tableau T de taille n=6

1 2 3 4 5 6
T 20 3 50 12 35 7

Trier le tableau en ordre croissant (de plus petit au plus grand) relativement à un ordre total noté ≤ donne le résultat suivant:
1 2 3 4 5 6
T 3 7 12 20 35 50

Trier le tableau en ordre décroissant (de plus grand au plus petit) relativement à un ordre total noté ≥ donne le résultat suivant:
1 2 3 4 5 6
T 50 35 20 12 7 3

question Questions:
You Scored % - /
1. Trier un tableau consiste à :
2. La relation d'ordre total ≥ permet de trier le tableau en ordre :
2. Quelles sont les types de tableaux qu'on peut trier ?

On peut trier autres types que les entiers. Il suffit de disposer d'un domaine de valeurs muni d'une relation d'ordre total. On peut donc trier des caractères, des mots en ordre alphabétique.

1-Le tri par sélection:

Algorithme:

0)DEF Proc Tri_selection (VAR T :TAB ; n :entier)
1)Pour i de 1 à n-1 faire
          [pos_min←i] Pour j de i+1 à n faire
                              Si ( T[j] < T[pos_min])Alors
                                                    pos_min ← j
                              Finsi
                             FinPour
      Si ( pos_min <> i) Alors 
                                          aux ←T[i]
                                          t[i]←T[Pos_min]
                                          t[pos_min]←aux
       Finsi
   FinPour
2)Fin Tri_selection

T.D.O locaux(Tableau de déclaration des objets locaux)

Objet Type/Nature Rôle
i, j, pos_min , aux Entier

Traduction en Pascal:

Procedure tri_selection (var T:TAB ; n:integer);
Var i,j,pos_min, aux: integer;
Begin
For i:=1 to n-1 do
	begin
		pos_min:=i;
		for j:=i+1 to n do
	   if t[j]  < t[pos_min] then pos_min:=j;
	if i <> pos_min then 
						begin
						aux:=t[i];
						t[i]:=t[pos_min];
						t[pos_min]:=aux;
						end;
	end;
End;

2-Le tri à bulles :

Algorithme:


0) DEF Proc permute(var x,y:entier)
1)aux←x
2) x ← y
3) y ←aux
4)Fin permute 


T.D.O locaux(Tableau de déclaration des objets locaux)

Objet Type/Nature Rôle
aux Entier

0) DEF Proc Tri_Bulles (VAR T :TAB , n :entier)
1) Répéter
       Echange ←faux
          Pour i de 1 à n-1 faire
               Si ( T[i] > T[i+1])Alors Permute(T[i], T[i+1])
                                                Echange ← vrai
               FinSi
           FinPour
        n ← n-1
    Jusqu'à (Echange = Faux) ou (n=1)
2) Fin Tri_Bulles


T.D.O locaux(Tableau de déclaration des objets locaux)

Objet Type/Nature Rôle
i
echange
permute
Entier
booléen
procédure

Traduction en Pascal:

procedure permute(var x,y:integer);
var aux:integer;
Begin
aux:=x;
x:=y;
y:=aux;
end;


procedure  Tri_Bulles (VAR T :TAB ; n :integer);
var  i:integer; echange:boolean;
Begin
Repeat
echange:=False;
for i:=1 to n-1 Do
	if T[i] > T[i+1]) Then
				begin
				Permute(T[i], T[i+1]);
				Echange := true ;
				end;
n:=n-1;
until  (Echange = false) or (n=1);
end;

3-Le tri par insertion:

Algorithme:

0) DEF Proc Tri_insertion (VAR T :TAB , n :entier)
1) Pour i de 2 à n faire
       TMP ←T[i]
       j ← i
          Tant que (j > 1) et (T[j-1] > TMP)   faire
               T[j] ← T[j-1]
               j  ← j-1
           FinTantque   
        T[j] ← TMP
    FinPour
2) Fin Tri_insertion


T.D.O locaux(Tableau de déclaration des objets locaux)

Objet Type/Nature Rôle
i,j
TMP
Entier
Entier
compteurs
variable temporaire

Traduction en Pascal:

procedure  Tri_insertion (VAR T :TAB ; n :integer);
var  i,j:integer; tmp:integer;
Begin

for i:=2 to n Do
  Begin
    Tmp:=t[i];
    j:=i;
	     while (j > 1) and (T[j-1] > Tmp)   do
				begin
				T[j]:=t[j-1];
				j:=j-1;
				end;
    T[j]:=tmp;
  End;
end;

A suivre ...

Consultez le cours et les exercices corrigés

cours bac scientifiques

Cours Bac scientifiques

This template downloaded form free website templates