Matrices à grandes tailles

Fermé
sara - 30 sept. 2018 à 11:09
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 30 sept. 2018 à 11:38
Bonjour,
Dans un devoir à rendre, j'ai cette question :
Implémentez un programme Java qui calcule le produit de deux matrices, en mono-thread
dans la fonction main. Testez-le sur des matrices de grande taille et utilisez la commande
shell time pour mesurer le temps d’exécution.

Le problème ici est que je me demande s'il s'agit de matrices à une ou deux dimensions? Car pour des matrices à deux dimensions de petite taille, ca fonctionne bien. Mais je me demande comment faire pour tester sur des matrices à grandes tailles, les matrices en java n'ayant que 2 lignes?
Merci

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
Modifié le 30 sept. 2018 à 11:41
Bonjour,

"je me demande s'il s'agit de matrices à une ou deux dimensions?"
Si on parle de matrice, c'est qu'il s'agit d'un tableau à deux dimensions,
int[][]


"les matrices en java n'ayant que 2 lignes?"
Non, en Java une matrice peut avoir jusqu'à 2 milliards de lignes et 2 milliards de colonnes, la limitation venant de la taille des tableaux
new int[n]
où n est un int dont la valeur maximale est
Integer.MAX_VALUE
= 2^31-1

"je me demande comment faire pour tester sur des matrices à grandes tailles"
Je pense qu'il faudrait générer tes matrice avec des valeurs aléatoires pour remplir toutes les cases des matrices avant de faire le calcul.

Attention : avec la commande
time
tu vas uniquement pouvoir calculer la durée totale du programme, comprenant l'initialisation des deux matrices et le calcul du produit, il serait plus précis d'utiliser
System.currentTimeMillis()
qui te permettras d'obtenir les temps intermédiaire pour ne calculer que le temps d'exécution du produit, sans le temps d'initialisation.
0