Je suis en train de travailler sur un projet qui nécessite la manipulation d'énormes matrices, en particulier pyramidale de sommation pour une copule de calcul. En bref, j'ai besoin de garder une trace d'un relativement petit nombre de valeurs (généralement, une valeur de 1, et dans de rares cas, plus de 1) dans une mer de zéros dans la matrice (tableau multidimensionnel). Un tableau fragmenté permet à l'utilisateur de conserver un petit nombre de valeurs, et d'assumer tous les indéfini enregistrements à une valeur prédéfinie. Car il n'est pas physiquement éventuellement de stocker toutes les valeurs en mémoire (plus nombreux que le nombre de particules dans l'univers :p ), j'ai besoin de stocker uniquement les quelques non-zéro éléments. Cela pourrait être de plusieurs millions d'entrées. Je suis actuellement en train de travailler sur un système qui utilise un arbre de recherche binaire (b-tree) pour stocker les entrées. Personne ne sait d'un meilleur système?
EDIT: la Vitesse est une priorité.
EDIT2 : j'aime bien cette solution. Comment puis-je choisir dynamiquement le nombre de variables dans la classe au moment de l'exécution? [edit par MH: bonne question, mis à jour dans la réponse]