Я знаю алгоритм Кучи для вычисления перестановок заданной последовательности, но что, если бы я хотел рассчитать перестановки подмножества k-элементов для данной последовательности N?Алгоритм вычисления перестановок
Решение, о котором я думаю, на этот раз является обратным, но ему нужно будет генерировать новую последовательность подэлементов при каждом удалении одного и рекурсивном вызове функции перестановки. Это звучит дорого, и я хотел бы знать, если есть лучшее решение
Насколько велики n и k? Независимо от того, что вам нужно (n! - k!) Ответы, так что это становится огромным действительно, очень быстро. –
Вы правы, и сложность будет сложной, однако выделение пространства при каждой рекурсии также дорого. Мне просто интересно, существует ли рекурсивный стандартный алгоритм для создания перестановок (N, k) – Albert
@Albert Существует итеративный алгоритм для генерации перестановок заданного набора. Вы ищете этого? – Vesper