Книга Теоретический минимум по Computer Science. Все что нужно программисту и разработчику, страница 50 – Владстон Феррейра Фило

Авторы: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ч Ш Ы Э Ю Я
Книги: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
Бесплатная онлайн библиотека LoveRead.me

Онлайн книга «Теоретический минимум по Computer Science. Все что нужно программисту и разработчику»

📃 Cтраница 50
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_239.jpg]
III. Множества

Мы используем слово множество для описания группы объектов. Например, мы можем назвать S множеством обезьянок-эмодзи:

S = {

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_240.jpg]
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_241.jpg]
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_242.jpg]
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_243.jpg]
}.

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_244.jpg]

Рис. III.1. S1 и S2 есть подмножества S


Подмножества. Множество объектов, содержащихся в другом множестве, называется подмножеством. Например, обезьянки, показывающие лапы и глаза, составляют подмножество S1 = {

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_245.jpg]
,
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_246.jpg]
}. Все обезьянки в S1 содержатся в S. Мы записываем это так: S1
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_247.jpg]
S Мы можем сгруппировать обезьянок с лапками и ртами в другом подмножестве: S2 = {
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_248.jpg]
,
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_249.jpg]
}.

Объединение. Какие обезьянки принадлежат либо S1, либо S2? Ответ: обезьянки в S3 = {

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_250.jpg]
,
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_251.jpg]
,
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_252.jpg]
}. Новое множество — объединение двух предыдущих. Мы записываем это так: S3 = S1
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_253.jpg]
S2.

Пересечение. Какие обезьянки принадлежат и S1, и S2? Ответ: обезьянки в S4 = {

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_254.jpg]
}. Новое множество получается путем пересечения двух предыдущих. Мы записываем это так: S4 = S1
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_255.jpg]
S2.

Степенные множества. Обратите внимание, что S3 и S4 одновременно являются подмножествами S. Мы также полагаем, что S5 = S и пустое множество S6 = {} являются подмножествами S. Если подсчитать все подмножества S, то вы найдете 24 = 16 подмножеств. Если же рассматривать их все как объекты, то мы можем собрать их в множество. Множество всех подмножеств S называется его степенным множеством:

PS = {S1, S2, S16}.

IV. Алгоритм Кэдейна

В разделе «Полный перебор» главы 3 мы представили задачу «Лучшая сделка».

Лучшая сделка

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_256.jpg]
У вас есть список цен на золото по дням за какой-то интервал времени. В этом интервале вы хотите найти такие два дня, чтобы, купив золото, а затем продав его, вы получили бы максимально возможную прибыль.

В разделе «Динамическое программирование» той же главы мы показали алгоритм, который решил эту задачу с временной сложностью O(n) и пространственной сложностью O(n). Когда в 1984 году Джей Кэдейн обнаружил эту задачу, он нашел способ решить ее с O(n) по времени и O(1) по пространству:

Реклама
Вход
Поиск по сайту
Ищем:
Календарь