Запитання з тегом «combinatorics»


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) ... тощо Якщо можливо, …

14
Декартовий твір з 2 списків у Хаскелі
Я хотів би виготовити декартовий продукт із двох списків у Хаскелі, але я не можу зрозуміти, як це зробити. Декартовий продукт містить усі поєднання елементів списку: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)] Це не справжнє запитання домашнього завдання …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.