Académique Documents
Professionnel Documents
Culture Documents
TP
ALGORITHMIQUE ET MÉTHODES DE PROGRAMMATION
LIC 2/LIAGE
GROUPE 24:
KAHINDO SYAMINYA
MUNYAGA MAMBOLEO DAVID
BEZA HAKIZA DIVINE
BUKENGE CHOYA NATHALIE
ASSANI KAZINGUFU SHALIMO
NEEMA TUNGA
1. L’algorithme de tri par insertion consiste à insérer chaque élément du tableau à trier à sa
place parmi les éléments déjà triés. Pour cela, on compare l’élément à insérer avec les
éléments précédents, et on les décale si nécessaire pour libérer la place. Le tri par insertion
est un tri stable, en place, et online. Il a une complexité en temps de O(n2) en moyenne et en
pire cas, où n est la taille du tableau. Il est efficace sur des petites entrées ou des entrées
presque triées.
Algorithme :
Prendre l'élément suivant de la partie non triée et l'insérer à la place correcte dans la partie
triée.
Répéter cette étape jusqu'à ce que la partie non triée devienne vide.
Complexité :
Pire cas : O(n2) - lorsque le tableau est trié dans l'ordre inverse.
L’algorithme de tri à bulles consiste à parcourir le tableau à trier, et à échanger les éléments
consécutifs qui ne sont pas dans l’ordre. Après un premier passage, le plus grand élément se
trouve en fin de tableau. On répète le processus en s’arrêtant à l’avant-dernier élément, et
ainsi de suite. Le tri à bulles est un tri stable et en place. Il a une complexité en temps de
O(n2) en moyenne et en pire cas, où n est la taille du tableau. Il est peu performant comparé
à d’autres algorithmes de tri.
Algorithme :
Comparer les éléments adjacents et les échanger s'ils sont dans le mauvais ordre.
Complexité :
Pire cas : O(n2) - lorsque le tableau est trié dans l'ordre inverse.
2. LES DEUX ALGORITHMES TRADUIT EN C#.NET
class Program
{
static void Main()
{
int[] tableau = { 5, 2, 9, 1, 5, 6 };
TriInsertion(tableau);
tableau[j + 1] = cle;
}
}
}
ALGORITHMES DE TRI A BULLES :
using System;
class Program
{
static void Main()
{
int[] tableau = { 15, 12, 19, 11, 15, 16 };
TriBulles(tableau);
#include <iostream>
// Affichage de la somme S
cout << "La somme des matrices A et B est :\n";
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
cout << S[i][j] << " ";
}
cout << "\n";
}
return 0;
}
5. ALGORITHME DE COTATION
Déclarations :
pointsMaximaux = [100, 120, 80, 80, 120, 100]
Afficher le nom de l'étudiant, les notes pour chaque cours, le pourcentage et la mention
Fin Pour
TRADUCTION EN LANGAGE JAVA
import java.util.Scanner;
// Déclarations
int[] pointsMaximaux = {100, 120, 80, 80, 120, 100};
// Calculer le pourcentage
double pourcentage = ((double) totalPoints / pointsMaximaux[0]) * 100;
// Déterminer la mention
String mention = getMention(pourcentage);
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms.
Mit Press.
0x9FL33T, coma94, & Aronanol. (2014, July 9). Le tri par insertion • tutoriels • zeste de
savoir. Zeste de Savoir. https://zestedesavoir.com/tutoriels/262/le-tri-par-insertion/