Вопросы с тегом «combinatorics»

30
Как сгенерировать все перестановки списка?
Как вы генерируете все перестановки списка в Python, независимо от типа элементов в этом списке? Например: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]

12
Быстрая перестановка -> число -> алгоритмы сопоставления перестановок
У меня есть n элементов. Для примера, скажем, 7 элементов, 1234567. Я знаю, что их 7! = 5040 возможных перестановок этих 7 элементов. Мне нужен быстрый алгоритм, состоящий из двух функций: f (число) отображает число от 0 до 5039 в уникальную перестановку, а f '(перестановка) отображает перестановку обратно на число, …

12
Сгенерировать все перестановки списка без смежных равных элементов
Когда мы сортируем список, например a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] в результирующем списке всегда соседствуют одинаковые элементы. Как я могу выполнить противоположную задачу - перетасовать список так, чтобы одинаковые элементы никогда (или как можно реже) находились рядом? Например, для приведенного выше списка одним …

5
Ленивая генерация перестановок
Я ищу алгоритм для генерации перестановок набора таким образом, чтобы я мог сделать их ленивый список в Clojure. т.е. я хотел бы перебрать список перестановок, где каждая перестановка не вычисляется до тех пор, пока я ее не запрошу, и все перестановки не должны храниться в памяти сразу. В качестве альтернативы …

6
Создание перестановок с повторениями
Я знаю об itertools, но кажется, что он может генерировать только перестановки без повторений. Например, я хотел бы сгенерировать все возможные броски кубиков для 2 кубиков. Поэтому мне нужны все перестановки размера 2 из [1, 2, 3, 4, 5, 6], включая повторения: (1, 1), (1, 2), (2, 1) ... и …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.