forked from menault/TD4_DEV51_Qualite_Algo
Téléverser les fichiers vers "/"
This commit is contained in:
parent
41d04dd86c
commit
52b3301ec1
46
TD4.txt
Normal file
46
TD4.txt
Normal file
@ -0,0 +1,46 @@
|
||||
-----------Ex 2-----------
|
||||
Fonction 1 :
|
||||
la compléxité algorithmique : O(n*m)
|
||||
"n" est le tableau1 et "m" est le tableau2
|
||||
car chaque élément de tableau 1 est comparé avec chaque élément de tableau 2.
|
||||
|
||||
Fonction 2 :
|
||||
la compléxité algorithmique : O(x)
|
||||
La boucle s'exécute x fois.
|
||||
|
||||
Fonction 3 :
|
||||
la compléxité algorithmique : O(1)
|
||||
Les conditions sont évaluées une seule fois. (je suis pas sur pour celle-ci)
|
||||
|
||||
-----------Ex 3-----------
|
||||
Fonction sort_students :
|
||||
Une première boucle itère sur grades_number (noté n) avec une allocation mémoire de complexité O(1), soit O(n).
|
||||
Une deuxième boucle itère sur students_number (noté m) pour copier les notes n fois, ce qui donne une complexité O(n⋅m).
|
||||
Appel de la fonction bubble_sort sur un tableau de m éléments, avec une complexité O(m^2).
|
||||
Cela donne une complexité totale de O(n⋅m^2).
|
||||
Une dernière boucle de complexité O(m) appelle la fonction find_rank_student.
|
||||
|
||||
|
||||
Fonction find_rank_student :
|
||||
Appelle bubble_sort avec une complexité O(m^2).
|
||||
Contient une boucle qui itère sur m, avec une complexité O(m).
|
||||
Complexité totale de la fonction O(m^2).
|
||||
Complexité globale de sort_students :
|
||||
La fonction find_rank_student est appelée m fois. Sa contribution est donc O(m⋅m^2)=O(m^3).
|
||||
|
||||
Complexité finale de sort_students : O(n⋅m^2+m^3) = O(n * m^3)
|
||||
|
||||
-----------Ex 4-----------
|
||||
-Tri individuel des sous-tableaux O(n*m^2) (m = longueur du sous-tableau , n= nombre de sous tableau)
|
||||
-Calcul de la somme de chaque sous-tableau (n*m)
|
||||
-Tri des sous-tableaux dans TriTableau (n^2*m)
|
||||
|
||||
pour moi la complexité est : O(n^2*k) ( j'hésite avec O(n^2 * m + n * m^2) )
|
||||
et change selon le nombre de sous_tableaux et de la longeur des sous-tableaux
|
||||
|
||||
note :
|
||||
code Aesthetic / malloc ( by code Aesthetic)
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
|
63
TriDeTableau.java
Normal file
63
TriDeTableau.java
Normal file
@ -0,0 +1,63 @@
|
||||
import java.util.Arrays;
|
||||
|
||||
public class TriDeTableau {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int[][] tableau = {
|
||||
{ 0, 3, 2 }, { 9, 4, 5 }, { 4, 1, 3 }
|
||||
};
|
||||
|
||||
int[][] tableautrier = TriTableau(tableau);
|
||||
|
||||
for (int[] listTableau : tableautrier) {
|
||||
System.out.println(Arrays.toString(listTableau));
|
||||
}
|
||||
}
|
||||
|
||||
public static int[][] TriTableau(int[][] tableau) {
|
||||
// Tri individuel des sous-tableaux
|
||||
for (int[] listTableau : tableau) {
|
||||
TriDansTableau(listTableau);
|
||||
}
|
||||
|
||||
// Tri des sous-tableaux en fonction de leur somme
|
||||
boolean swap;
|
||||
do {
|
||||
swap = false;
|
||||
for (int i = 1; i < tableau.length; i++) {
|
||||
if (sommetableau(tableau[i - 1]) > sommetableau(tableau[i])) {
|
||||
|
||||
int[] temp = tableau[i - 1];
|
||||
tableau[i - 1] = tableau[i];
|
||||
tableau[i] = temp;
|
||||
swap = true;
|
||||
}
|
||||
}
|
||||
} while (swap);
|
||||
return tableau;
|
||||
}
|
||||
|
||||
public static void TriDansTableau(int[] tableau) {
|
||||
boolean swap;
|
||||
do {
|
||||
swap = false;
|
||||
for (int i = 1; i < tableau.length; i++) {
|
||||
if (tableau[i - 1] > tableau[i]) {
|
||||
|
||||
int temp = tableau[i - 1];
|
||||
tableau[i - 1] = tableau[i];
|
||||
tableau[i] = temp;
|
||||
swap = true;
|
||||
}
|
||||
}
|
||||
} while (swap);
|
||||
}
|
||||
|
||||
public static int sommetableau(int[] tableau) {
|
||||
int somme = 0;
|
||||
for (int chiffre : tableau) {
|
||||
somme += chiffre;
|
||||
}
|
||||
return somme;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user