Составление распределений — различия между версиями
Материал из ALL
(Новая страница: «'''Составление распределений''' — это алгоритм (комбинаторная операция)…») |
|||
Строка 10: | Строка 10: | ||
'''{R<sub>1</sub>,R<sub>2</sub>,…,R<sub>k</sub>}''' – распределение числа '''n''' среди '''k''' элементов. | '''{R<sub>1</sub>,R<sub>2</sub>,…,R<sub>k</sub>}''' – распределение числа '''n''' среди '''k''' элементов. | ||
+ | |||
+ | Основная идея алгоритма распределений числа '''n''' среди '''k''' элементов состоит в следующем: в получении разбиений числа '''n''' на не более, чем '''k''' слагаемых, добавлении нулевых слагаемых до '''k''' элементов и переборе перестановок с повторениями из '''k''' элементов. | ||
+ | |||
== Алгоритм распределений == | == Алгоритм распределений == | ||
Входные данные: '''n; k.''' | Входные данные: '''n; k.''' |
Версия 11:43, 3 марта 2016
Составление распределений — это алгоритм (комбинаторная операция) получения разложений числа n на k слагаемых, включая ноль.
Обозначения
Введём обозначения:
n – натуральное число;
t – порядковый номер распределения;
k – число элементов распределения;
{R1,R2,…,Rk} – распределение числа n среди k элементов.
Основная идея алгоритма распределений числа n среди k элементов состоит в следующем: в получении разбиений числа n на не более, чем k слагаемых, добавлении нулевых слагаемых до k элементов и переборе перестановок с повторениями из k элементов.
Алгоритм распределений
Входные данные: n; k.
- Заметим, что для любого распределения сумма его элементов равна числу n.
Пример
При n=6, k=3 получаем 28 распределений:
Другие алгоритмы:
- составление перестановок;
- составление лексикографических перестановок;
- составление следующей перестановки;
- составление сочетаний;
- составление лексикографических сочетаний;
- составление следующего сочетания;
- составление размещений;
- составление лексикографических размещений;
- составление следующего размещения;
- составление разбиений;
- составление лексикографических разбиений;
- составление следующего разбиения;
- составление распределений;
- составление лексикографических распределений;
- составление следующего распределения.