A voir également:
- Java heap space
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Space sniffer - Télécharger - Divers Utilitaires
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
1 réponse
NHenry
Messages postés
15172
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 décembre 2024
350
2 mai 2015 à 13:27
2 mai 2015 à 13:27
Tu veux récupérer en mémoire la liste de toutes le combinaisons possible avec 60 items au départ ?
As-tu compté combien de combinaison cela fait ?
As-tu compté combien de combinaison cela fait ?
Modifié par KX le 2/05/2015 à 16:23
Le calcul est facile, si n est la taille du tableau de départ, il y aura très exactement n! résultats dans la liste. Sachant que chaque résultat est un tableau de taille n, ça nous fait donc environ n*n! entiers à stocker.
On multiplie ça par 4 octets chacun, j'oublie volontairement la taille du tableau et de la liste parce que c'est plus dur de les calculer, mais en gros il faut multiplier encore par 1.5 disons donc environ 6*n*n! octets en mémoire.
Pour n=10, environ 200 Mo.
Pour n=11, environ 2,5 Go
Pour n=12, environ 32 Go
Pour n=60, environ 1,5 TTTTTTTo (téra de téra de téra... de téra octets)
Remarque : pour n=10 mon ordinateur a mis à peu près 1 seconde pour faire le calcul, donc pour n=60 on pourrait attendre un résultat d'ici...
435 000 GGGGGGG années (milliards de milliards ... de milliards d'années)
De toute façon, tu aurais eu un ArrayOutOfBoundsException bien avant car une ArrayList ne peux pas contenir plus de 2^31-1 valeurs. Donc même si tu avais 450 Go de mémoire tu ne pourrais pas faire le calcul pour n=13...
2 mai 2015 à 18:41
2 mai 2015 à 18:43
2 mai 2015 à 19:22
2 mai 2015 à 19:26
Mais je ne vois pas l'intérêt d'avoir toutes les combinaisons possibles.