Составление следующего сочетания с повторениями
Перейти к навигации
Перейти к поиску
Составление следующего сочетания с повторениями — это алгоритм (комбинаторная операция) получения для сочетания с повторениями следующего в лексикографическом порядке сочетания с повторениями.
Обозначения[править]
n — число элементов конечного множества;
k — число элементов в сочетании с повторениями;
{C1,C2,…,Ck} — сочетание с повторениями k номеров элементов множества из n элементов.
Алгоритм сочетаний с повторениями[править]
Входные данные: n; k; {C1,C2,…,Ck}.
- Сортировка {C1,C2,…,Ck} по возрастанию.
- i = k, C0 = 0.
- Если Ci = n, то i = i − 1 и идти к 3.
- Ci = Ci + 1; j = i + 1.
- Cj = Cj−1; j = j + 1.
- Если j ≤ k, то идти к 5.
- {C1,C2,…,Ck} — сочетание с повторениями.
Выходные данные: {C1,C2,…,Ck}.
- Заметим, что алгоритм для лексикографически последнего сочетания с повторениями даёт, как следующее, первое сочетание с повторениями.