Какой лучший способ эффективно написать двумерный хэш-карту в Java? Просто чтобы привести пример того, о чем я говорю: я разрабатываю некоторые алгоритмы, связанные с коллективным интеллектом, эти алгоритмы работают путем вычисления корреляции между парами элементов ..
Без кэширования этих значений, поскольку они рассчитываются для одних и тех же пар несколько раз, производительность ужасна .. (алгоритмы могут быть O (n ^ 2) , но, возможно, O (n ^ 3) поэтому я подумывал об использовании HashMap для хранения значений, которые будут использоваться несколько раз.
Какой самый эффективный способ реализовать такую структуру данных в Java? Должна быть возможность кэшировать и удалять значение, сгенерированное парой элементов с O (1) , но использование явного класса в любом случае кажется слишком сложным.
Если Java окажется недостаточно, мне придется переключиться на C / C ++, поэтому любые идеи, связанные с этими языками, тоже приветствуются.
Спасибо