Если у вас есть трехмерное пространство фиксированного размера (N) с интегральными координатами в [0, N [, как вы можете преобразовать эти (x, y, z) координаты в один линейный индекс [0, N * N] * N [, где среднее расстояние одной координаты (x, y, z) до ближайших соседей (x-1, y, z), (x + 1, y, z), ... (26 соседей) равно минимизировано, по сравнению с упрощенной формулой "индекс = х + N * у + N * N * z"?
Дорогая формула является приемлемым решением в моем случае, потому что N фиксировано и не слишком велико, поэтому я могу вычислить отображение один раз и кэшировать результат, если это дорого.
Причина, по которой мне это нужно, заключается в том, что я пытаюсь сжать одни и те же значения на основе близости, и поэтому размещение соседних значений рядом в массиве повышает степень сжатия.
Если бы вы могли указать на некоторый код Java, было бы еще лучше ...