Vous êtes sur la page 1sur 4

Tableaux à une dimension

Exercice 2.1

Analytiquement le produit scalaire entre deux vecteurs .. et .. est donné par la formule

suivante . =∑

Exercice 2.2

Tri par sélection :

• Soit un tableau T de taille n.

• Le principe de base consiste à chercher le plus petit élément du tableau est et le permuter avec
le premier élément (indice 0).

• On considère le tableau à partir de l’élément 1, on cherche le plus petit élément du nouveau


sous-tableau (T[1…n]) et on le permute avec le premier élément du tableau (T[1])

• On réitère la même procédure, et à chaque étape i on considère le tableau comme étant composé
de deux parties : une partie triée (T[0..i-1]) et une partie non triée (T[i..n]) sur laquelle
l’algorithme du tri sera effectué.

Exemple :
La partie en gris est la partie du tableau triée ; l’élément en rouge est le minimum du sous tableau.

Étape 1
données 5 0(Min) 3 2 6 6 10 8 1
Indice 0 1 2 3 4 5 6 7 8
Étape 1 (résultat)
données 0 5 3 2 6 6 10 8 1
Indice 0 1 2 3 4 5 6 7 8

Étape 2
données 0 5 3 2 6 6 10 8 1(Min)
Indice 0 1 2 3 4 5 6 7 8
Étape 2 (résultat)
données 0 1 3 2 6 6 10 8 5
Indice 0 1 2 3 4 5 6 7 8

Étape 3
données 0 1 3 2(Min) 6 6 10 8 5
Indice 0 1 2 3 4 5 6 7 8
Étape 3 (résultat)
données 0 1 2 3 6 6 10 8 5
Indice 0 1 2 3 4 5 6 7 8
Étape 4
données 0 1 2 3(min) 6 6 10 8 5
Indice 0 1 2 3 4 5 6 7 8
Étape 4 (résultat)
données 0 1 2 3 6 6 10 8 5
Indice 0 1 2 3 4 5 6 7 8

Étape 5
données 0 1 2 3 6 6 10 8 5 (min)
Indice 0 1 2 3 4 5 6 7 8
Étape 5 (résultat)
données 0 1 2 3 5 6 10 8 6
Indice 0 1 2 3 4 5 6 7 8

Étape 6
données 0 1 2 3 5 6 (min) 10 8 6
Indice 0 1 2 3 4 5 6 7 8
Étape 6 (résultat)
données 0 1 2 3 5 6 10 8 6
Indice 0 1 2 3 4 5 6 7 8

Étape 7
données 0 1 2 3 5 6 10 8 6 (min)
Indice 0 1 2 3 4 5 6 7 8
Étape 7 (résultat)
données 0 1 2 3 5 6 6 8 10
Indice 0 1 2 3 4 5 6 7 8

Étape 8
données 0 1 2 3 5 6 6 8(min) 10
Indice 0 1 2 3 4 5 6 7 8
Étape 8 (résultat)
données 0 1 2 3 5 6 6 8 10
Indice 0 1 2 3 4 5 6 7 8

Tri Bulle:

• Il consiste à parcourir le tableau les éléments du tableau plusieurs n-1 fois.


• A chaque parcours si deux éléments d’indices successifs ne sont pas ordonnés (T[i]>T[i+1]) on
les permute.
• Ainsi, à chaque balayage du tableau nous aurons deux sous tableaux adjacents, un tableau non
trié T[1..i-1] et un tableau trié T[i..n] .
• Le tableau trié T[1..i-1] est composé des n-i plus grands éléments du tableau.
• Lors du parcours du tableau la bulle fait remonter le plus grand élément du sous tableau vers
l’extrémité .

Exemple :
Premier balayage du tableau

données 3 9 5 2 3>9


indices 0 1 2 3 faux

données 3 9 5 2 9>5
Vrai


indices 0 1 2 3 permuter

données 3 5 9 2 9>2
Vrai


indices 0 1 2 3 permuter

données 3 5 2 9
Fin du balayage 1

indices 0 1 2 3

données 3 5 2 9
Résultat
indices 0 1 2 3
Partie non triée Partie triée

Deuxième balayage du tableau

données 3 5 2 9 3>5


indices 0 1 2 3 Faux
Partie triée

données 3 5 2 9 5>2
Vrai


indices 0 1 2 3 permuter
Partie triée

données 3 2 5 9
Fin du balayage 2

indices 0 1 2 3
Partie triée

données 3 2 5 9
Résultat
indices 0 1 2 3
Partie non triée Partie triée

Troisième balayage
données 3 2 5 9 3>2
Vrai


indices 0 1 2 3 permuter
Partie triée

données 2 3 5 9
Fin du balayage 3

indices 0 1 2 3
Partie triée

données 2 3 5 9
Résultat
indices 0 1 2 3
Un seul
Partie triée
élément

Tri Comptage : (on ne considère que le cas où les valeurs des éléments sont distinctes sinon un
troisième tableau pour garder le nombre de redondances pour chaque valeur est nécessaire)

• Soit un tableau T de taille n.


• Le tri par comptage est le tri le plus intuitif, il consiste à mettre directement chaque élément
dans la case qui lui correspond selon son ordre par rapport aux autres éléments
• ainsi on utilise un second vecteur d’indices.
• Pour chaque élément du tableau T
o On calcule le nombre des éléments qui lui sont inférieurs
o On met à jour son indice (égal à son ordre) .

Tableau de données 2 6 4 5 3
T[i]
Tableau d’indice 0 0 0 0 0
Ind[i]
i 0 1 2 3 4

Les éléments inférieurs à 2 : ∅


Étape 1 : mettre à jour le tableau d’indices

Les éléments inférieurs à 6 : {2,3,4,5}


Pour i = 0 T[0] = 2 Ind[0] = 0 (2 sera à la case 0)

Les éléments inférieurs à 4 : {2,3}


Pour i = 1 T[1] = 6 Ind[1] = 4 (6 sera à la case 4)

Les éléments inférieurs à 5 : {2,3,4}


Pour i = 2 T[1] = 4 Ind[2] = 2 (6 sera à la case 2)

Les éléments inférieurs à 3 : {2}


Pour i = 3 T[1] = 5 Ind[3] = 3 (6 sera à la case 3)
Pour i = 4 T[1] = 3 Ind[4] = 1 (6 sera à la case 1)

Tableau de données 2 6 4 5 3
T[i]
Tableau d’indice 0 4 2 3 1
Ind[i]
i 0 1 2 3 4

Étape 2 : Trie du tableau des données


Tableau de données 2 3 4 5 6
T[i]
i 0 1 2 3 4

Vous aimerez peut-être aussi