Я ищу эффективный способ сопоставить N целых чисел с [1, N].Карта N целых чисел в [1, N]
N целых чисел - это фактически записи отсортированного массива A без избыточности, и моя цель - просто получить доступ к индексу каждой записи массива.
Пример:
Для заданного массива A целых чисел, отсортированных и без излишеств, но с разрывами и, возможно, очень больших количествах (вы могли бы иметь 1000 целых чисел в диапазоне от 25 до 10^6), мне нужен способ найти индекс каждой записи эффективным образом. Например, если A [15] = 1546, мне нужно иметь возможность делать индекс (1546) = 15. Моя проблема в том, что мне нужно сделать это в Fortran, и, насколько я знаю, нет реальной хеш-таблицы библиотеки.
Для сортированного массива без избыточности (например, A = [2,4,7,23]) я хочу иметь доступ к индексу каждой записи (т. Е. A_inverse (7) = 3.). У меня действительно нет кода для показа, поскольку это скорее общая проблема. Так получилось, что мне нужно сделать это в Фортране. – Dooggy
Эта проблема точно решена хэш-таблицей, если диапазон возможных значений не достаточно мал, чтобы вы могли создать инвертированную таблицу поиска. – rici