Проблема заключается в следующем:
С учетом строки. Скажите свой ранг среди всех перестановок, отсортированных лексически.
Вопрос можно попытаться математически, но мне было интересно, есть ли какой-нибудь другой алгоритмический метод для его вычисления?
Также, если нам нужно сохранить все перестановки строк поровну, как мы можем генерировать их эффективно (и в чем будет сложность). Что такое хорошая структура данных для хранения перестановок и которая также эффективна для извлечения?
ИЗМЕНИТЬ
Спасибо за подробные ответы на часть генерации подстановок, может ли кто-то предложить хорошую структуру данных? Я только мог думать о trie tree.