КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
СочетанияСочетанием из n элементов по m (иногда читают просто: из n по m) называется m-элементное подмножество некоторого n-элементного множества. Таким образом, чтобы назвать какой – либо объект сочетанием из n по m, необходимо проверить одновременное выполнение следующих условий (существенных признаков понятия «сочетание»): 1. Заданы два множества. 2. Одно из множеств является подмножеством другого. 3. Основное множество содержит n элементов. 4. Подмножество содержит m элементов. Число сочетаний из n элементов по m обозначается через и вычисляется по формуле: Пример: Сколькими способами можно составить букет из 3 цветов, если в вашем распоряжении 5 цветов: мак, роза, тюльпан, лилия, гвоздика? Решение: Основное множество: {мак, роза, тюльпан, лилия, гвоздика} => n=5 Соединение – букет из трех цветков => m=3 Проверим, важен ли порядок: {тюльпан, лилия, гвоздика} и {лилия, тюльпан, гвоздика} – один и тот же букет => порядок неважен => это подмножество => это сочетание «из пяти по три». (букетов) Ответ: 10 букетов Генерирование сочетаний. Опишем алгоритм генерирования всех k-элементных подмножеств n-элементного множества X. Можно принять X = {1,..., n}. Тогда каждому k-элементному подмножеству взаимнооднозначно соответствует возрастающая последовательность длины kс элементами из X:например, подмножеству {3,5,1} соответствует последовательность (1,3,5). Можно легко указать алгоритм, с помощью которого генерируются все такие последовательности. Для этого достаточно заметить, что при таком порядке, последовательностью, непосредственно следующей за последовательностью (a1,..., аk), является (b1,...,bk) = (a1,...,ap-i,ap + 1 ,ap + 2,...,ap + k-p+1), где p=max{i:ai<n-k+1}. Более того, последовательностью, непосредственно следующей за (b1,…,bk), является (c1,...,ck) = (b1,...,bp’-1,bp’ +1, bp’ +2,..., bp’> +k-p’ + 1), где (будем предполагать, что последовательности (a1,...,ak) и (b1,...,bk) отличаются от (n-k+1,...,n) — последней последовательности в нашем порядке. Это приводит к следующему простому алгоритму. Алгоритм. (Генерирование всех k-элементных подмножеств множества {1,...,n}.) Данные: n, к. Результат: последовательность всех k-элементных подмножеств множества {1,...,n}. 1.begin 2. for i:=1 to k do A[i]:=i; (*первое подмножество*) 3. p:=k; 4. while p≥1 do 5. begin write (A[1],…,A[k]); 6. if A[k]=n then p:=p-1 else p:=k; 7. if p≥1 then 8. for i:=k downto p do A[i]:=A[p]+i-p+1; 9. end; 10.end. Последовательность всех 4-элементных подмножеств множества {1,...,6}, полученная с помощью этого алгоритма, выглядит следующим образом:
Дата добавления: 2014-01-20; Просмотров: 466; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |