Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
11.03.2015
Размер:
26.94 Кб
Скачать

2.7. Сочетания

Сочетанием из n элементов по k называется k-элементное подмножество n-элементного множества.

Теорема 2.5. Количество всех различных сочетаний из n элементов по k определяется формулой .

Доказательство. Можно получить все размещений, упорядочив всеми возможными способами каждое из сочетаний. Количество способов упорядочивания одного сочетания равно k!, следовательно =k! . Отсюда .

Пусть элементами множества М являются натуральные числа от 1 до n. Для сокращения записи такое множество будем обозначать {1..n}.

Например, сочетания из шести элементов по три (), в возрастающем лексикографическом порядке запишутся следующим образом:

123 135 234 256

124 136 235 345

125 145 236 346

126 146 245 356

134 156 246 456

Алгоритм 2.5 порождения сочетаний из n элементов по k.

Вход: i – заполняемое место в сочетании С;

b – минимальный элемент, который можно поставить на i-ое место.

Выход: последовательность всех сочетаний из n элементов по k в возрастающем лексикографическом порядке.

Глобальные параметры: С – формируемое сочетание;

n – мощность множества.

k – количество элементов в сочетании.

Сочетание(i, b)

Ci := x

i=k

x{b..n-k+i}

+

С

Сочетание (i+1, x+1)

Конец

Рис.2.11. Рекурсивный алгоритм порождения сочетаний

из n элементов по k

Пусть задано множество {1,2,3,4,5} и требуется получить все его сочетания по 3.

сочетание

3 {1,2,3)

множество

{3,4,5} 4 сочетание

сочетание {1,2,4)

{1,2,?} 5

2 сочетание

{1,2,5)

множество множество 7 сочетание

{2,3,4} 6 {4,5} {1,3,4)

сочетание сочетание 8

{1,?,?} {1,3,?} сочетание

9 {1,3,5)

1 множество

{5} 10 сочетание

сочетание {1,4,5)

множество {1,4,?}

{1,2,3}

сочетание 11 множество 13 сочетание

{?,?,?} 12 {4,5} {2,3,4)

множество сочетание 14

{3,4} {2,3,?} сочетание

сочетание 15 {2,3,5)

17 {2,?,?} множество

{5} 16 сочетание

сочетание {2,4,5)

{2,4,?}

множество множество

{4} 18 {5} 19 сочетание

сочетание сочетание {3,4,5)

{3,?,?} {3,4,?}

Рис.2.12. Схема получения всех сочетаний по алгоритму 2.5