J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Bonjour,
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Merci d'avance.
Bonjour,
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Merci d'avance.
Bonjour,
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Merci d'avance.
Merci à vous deux de vos réponses qui m'éclairent un peu. Je pense que je
vais opter pour la LinkedList ou peut-être même pour un simple tableau.
En fait j'ai un nombre n d'éléments et je veux tester toutes les
permutations possibles. Il y en a donc n! en tout. Ce qui fait un nombre
considérable de calculs...
Ce que faisait mon ancien programme, il stockait chaque permutation dans
un Vector en utilisant la méthode add et recopiait chaque élément, en le
supprimant ensuite, dans certaines cases d'un tableau déjà prérempli. Il
faisait ensuite la somme de la première ligne du tableau et la comparait
à une valeur de référence. Si les deux valeurs étaient égales il faisait
la même chose pour la seconde ligne, et etc... Il faisait ensuite de même
avec les colonnes, et ensuite les deux diagonales. À chaque fois que le
test s'avérait faux, il passait à la permutation suivante sans tester les
lignes ou colonnes suivantes. Et ainsi de suite tant que la permutation
qui renvoie un vrai à tous les tests n'était pas atteinte.
En fait, je me suis aperçu en faisant une estimation grossière de la
durée d'exécution de ce programme, que les calculs pouvaient bien durer,
selon la valeur de n, plusieurs millions d'années sur mon ordinateur...
Ce qui explique que je n'ai obtenu aucun résultat jusqu'à présent. C'est
pourquoi j'ai entrepris d'optimiser ce programme en changeant le Vector
par une structure plus rapide. Et aussi en essayant de réduire le nombre
de calculs si possible. Mais là c'est une autre histoire...
Je me suis aperçu également que le nombre n d'éléments ne varie pas pour
chaque calcul. Je peux donc essayer de remplacer le Vector par un simple
tableau à une dimension. Ça accélérerait les copies d'éléments.
Il faut que je me repenche sur la structure de ce programme qui date de
2003 pour voir si c'est possible. Le principal problème vient du fait que
ma méthode de recherche de toutes les permutations de mes n éléments est
basé sur un algorithme d'exploration de tout les chemins complets d'un
graphe de n éléments. J'avais trouvé cet algorithme dans un livre
d'algorithmique en langage C. Et comme en C les index des éléments
commencent à l'indice 0, j'avais été obligé de l'adapter à mon Vector
dont les index des éléments commencent à 1. C'est pour ça qu'il va me
falloir peut-être réécrire tout ou certaines parties de mon programme.
Merci encore pour vos réponses détaillées ou résumées.
Merci à vous deux de vos réponses qui m'éclairent un peu. Je pense que je
vais opter pour la LinkedList ou peut-être même pour un simple tableau.
En fait j'ai un nombre n d'éléments et je veux tester toutes les
permutations possibles. Il y en a donc n! en tout. Ce qui fait un nombre
considérable de calculs...
Ce que faisait mon ancien programme, il stockait chaque permutation dans
un Vector en utilisant la méthode add et recopiait chaque élément, en le
supprimant ensuite, dans certaines cases d'un tableau déjà prérempli. Il
faisait ensuite la somme de la première ligne du tableau et la comparait
à une valeur de référence. Si les deux valeurs étaient égales il faisait
la même chose pour la seconde ligne, et etc... Il faisait ensuite de même
avec les colonnes, et ensuite les deux diagonales. À chaque fois que le
test s'avérait faux, il passait à la permutation suivante sans tester les
lignes ou colonnes suivantes. Et ainsi de suite tant que la permutation
qui renvoie un vrai à tous les tests n'était pas atteinte.
En fait, je me suis aperçu en faisant une estimation grossière de la
durée d'exécution de ce programme, que les calculs pouvaient bien durer,
selon la valeur de n, plusieurs millions d'années sur mon ordinateur...
Ce qui explique que je n'ai obtenu aucun résultat jusqu'à présent. C'est
pourquoi j'ai entrepris d'optimiser ce programme en changeant le Vector
par une structure plus rapide. Et aussi en essayant de réduire le nombre
de calculs si possible. Mais là c'est une autre histoire...
Je me suis aperçu également que le nombre n d'éléments ne varie pas pour
chaque calcul. Je peux donc essayer de remplacer le Vector par un simple
tableau à une dimension. Ça accélérerait les copies d'éléments.
Il faut que je me repenche sur la structure de ce programme qui date de
2003 pour voir si c'est possible. Le principal problème vient du fait que
ma méthode de recherche de toutes les permutations de mes n éléments est
basé sur un algorithme d'exploration de tout les chemins complets d'un
graphe de n éléments. J'avais trouvé cet algorithme dans un livre
d'algorithmique en langage C. Et comme en C les index des éléments
commencent à l'indice 0, j'avais été obligé de l'adapter à mon Vector
dont les index des éléments commencent à 1. C'est pour ça qu'il va me
falloir peut-être réécrire tout ou certaines parties de mon programme.
Merci encore pour vos réponses détaillées ou résumées.
Merci à vous deux de vos réponses qui m'éclairent un peu. Je pense que je
vais opter pour la LinkedList ou peut-être même pour un simple tableau.
En fait j'ai un nombre n d'éléments et je veux tester toutes les
permutations possibles. Il y en a donc n! en tout. Ce qui fait un nombre
considérable de calculs...
Ce que faisait mon ancien programme, il stockait chaque permutation dans
un Vector en utilisant la méthode add et recopiait chaque élément, en le
supprimant ensuite, dans certaines cases d'un tableau déjà prérempli. Il
faisait ensuite la somme de la première ligne du tableau et la comparait
à une valeur de référence. Si les deux valeurs étaient égales il faisait
la même chose pour la seconde ligne, et etc... Il faisait ensuite de même
avec les colonnes, et ensuite les deux diagonales. À chaque fois que le
test s'avérait faux, il passait à la permutation suivante sans tester les
lignes ou colonnes suivantes. Et ainsi de suite tant que la permutation
qui renvoie un vrai à tous les tests n'était pas atteinte.
En fait, je me suis aperçu en faisant une estimation grossière de la
durée d'exécution de ce programme, que les calculs pouvaient bien durer,
selon la valeur de n, plusieurs millions d'années sur mon ordinateur...
Ce qui explique que je n'ai obtenu aucun résultat jusqu'à présent. C'est
pourquoi j'ai entrepris d'optimiser ce programme en changeant le Vector
par une structure plus rapide. Et aussi en essayant de réduire le nombre
de calculs si possible. Mais là c'est une autre histoire...
Je me suis aperçu également que le nombre n d'éléments ne varie pas pour
chaque calcul. Je peux donc essayer de remplacer le Vector par un simple
tableau à une dimension. Ça accélérerait les copies d'éléments.
Il faut que je me repenche sur la structure de ce programme qui date de
2003 pour voir si c'est possible. Le principal problème vient du fait que
ma méthode de recherche de toutes les permutations de mes n éléments est
basé sur un algorithme d'exploration de tout les chemins complets d'un
graphe de n éléments. J'avais trouvé cet algorithme dans un livre
d'algorithmique en langage C. Et comme en C les index des éléments
commencent à l'indice 0, j'avais été obligé de l'adapter à mon Vector
dont les index des éléments commencent à 1. C'est pour ça qu'il va me
falloir peut-être réécrire tout ou certaines parties de mon programme.
Merci encore pour vos réponses détaillées ou résumées.
Je voulais te signaler simplement que si le contenu de tes listes est
un type natif du langage, (int, float, double, boolean, char, ...) tu as
intérêt à faire de simples tableaux. les listes que ce soit ArrayList ou
LinkedList contiennent des objets, éventuellement des wrappers comme
Integer, Boolean, ... et donc l'empreinte mémoire est beaucoup plus
importante.
L'avantage des List sur les tableaux natifs c'est surtout de pouvoir
ajouter des éléments sans avoir à gérer la taille du tableau. Si tu
connais à l'avance le nombre d'éléments et que tu cherches à gérer
efficacement des listes de grande taille, les tableaux sont peut-être la
meilleure solution.
Bon courage...
Je voulais te signaler simplement que si le contenu de tes listes est
un type natif du langage, (int, float, double, boolean, char, ...) tu as
intérêt à faire de simples tableaux. les listes que ce soit ArrayList ou
LinkedList contiennent des objets, éventuellement des wrappers comme
Integer, Boolean, ... et donc l'empreinte mémoire est beaucoup plus
importante.
L'avantage des List sur les tableaux natifs c'est surtout de pouvoir
ajouter des éléments sans avoir à gérer la taille du tableau. Si tu
connais à l'avance le nombre d'éléments et que tu cherches à gérer
efficacement des listes de grande taille, les tableaux sont peut-être la
meilleure solution.
Bon courage...
Je voulais te signaler simplement que si le contenu de tes listes est
un type natif du langage, (int, float, double, boolean, char, ...) tu as
intérêt à faire de simples tableaux. les listes que ce soit ArrayList ou
LinkedList contiennent des objets, éventuellement des wrappers comme
Integer, Boolean, ... et donc l'empreinte mémoire est beaucoup plus
importante.
L'avantage des List sur les tableaux natifs c'est surtout de pouvoir
ajouter des éléments sans avoir à gérer la taille du tableau. Si tu
connais à l'avance le nombre d'éléments et que tu cherches à gérer
efficacement des listes de grande taille, les tableaux sont peut-être la
meilleure solution.
Bon courage...
Bonjour,Bonsoir ,
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Merci d'avance.
Bonjour,Bonsoir ,
J'ai un petit programme qui utilise un Vector et qui effectue beaucoup
d'opérations sur ce dernier. J'envisage de remplacer ce Vector par une
structure de données plus rapide. Je n'ai pas besoin qu'elle soit
Synchronized.
Est-ce que quelqu'un peut me dire ce qui est le plus rapide entre une
LinkedList ou une ArrayList?
Merci d'avance.