Я знаю, что существует алгоритм, который позволяет, учитывая комбинацию числа (без повторений, без ордера), вычисляет индекс лексикографического порядка.
Для моего приложения было бы очень полезно ускорить процесс...
Например:
combination(10, 5)
1 - 1 2 3 4 5
2 - 1 2 3 4 6
3 - 1 2 3 4 7
....
251 - 5 7 8 9 10
252 - 6 7 8 9 10
Мне нужно, чтобы алгоритм возвращал индекс данной комбинации.
es: index( 2, 5, 7, 8, 10 )
→ index
EDIT: на самом деле я использую Java-приложение, которое генерирует все комбинации C (53, 5) и вставляет их в TreeMap.
Моя идея - создать массив, содержащий все комбинации (и связанные данные), которые я могу индексировать с помощью этого алгоритма.
Все для ускорения поиска комбинаций.
Однако я пробовал некоторые (не все) ваши решения, и предложенные вами алгоритмы медленнее, чем get() из TreeMap.
Если это помогает: мои потребности для комбинации из 5 от 53, начиная с 0 до 52.
Еще раз спасибо всем: -)