Владстон Феррейра Фило - Теоретический минимум по Computer Science [Все что нужно программисту и разработчику]

Тут можно читать онлайн Владстон Феррейра Фило - Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство Питер, год 2018. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
Владстон Феррейра Фило - Теоретический минимум по Computer Science [Все что нужно программисту и разработчику]
  • Название:
    Теоретический минимум по Computer Science [Все что нужно программисту и разработчику]
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2018
  • Город:
    СПб.
  • ISBN:
    978-5-4461-0587-8
  • Рейтинг:
    4/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Владстон Феррейра Фило - Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] краткое содержание

Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] - описание и краткое содержание, автор Владстон Феррейра Фило, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.
Владстон Феррейра Фило знакомит нас с вычислительным мышлением, позволяющим решать любые сложные задачи. Научиться писать код просто — пара недель на курсах, и вы «программист», но чтобы стать профи, который будет востребован всегда и везде, нужны фундаментальные знания. Здесь вы найдете только самую важную информацию, которая необходима каждому разработчику и программисту каждый день. cite
Владстон Феррейра Фило

Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] - читать онлайн бесплатно ознакомительный отрывок

Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Владстон Феррейра Фило
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Объединение.Какие обезьянки принадлежат либо S 1, либо S 2? Ответ: обезьянки в S 3= { картинка 250, картинка 251, картинка 252}. Новое множество — объединение двух предыдущих. Мы записываем это так: S 3= S 1 картинка 253 S 2.

Пересечение.Какие обезьянки принадлежат и S 1, и S 2? Ответ: обезьянки в S 4= { картинка 254}. Новое множество получается путем пересечения двух предыдущих. Мы записываем это так: S 4= S 1 картинка 255 S 2.

Степенные множества.Обратите внимание, что SS 4одновременно являются подмножествами S . Мы также полагаем, что S 5= S и пустое множество S 6= {} являются подмножествами S . Если подсчитать все подмножества S , то вы найдете 2 4= 16 подмножеств. Если же рассматривать их все как объекты, то мы можем собрать их в множество. Множество всех подмножеств S называется его степенным множеством :

P S= { S 1, S 2, S 16}.

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

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

Лучшая сделка картинка 256У вас есть список цен на золото по дням за какой-то интервал времени. В этом интервале вы хотите найти такие два дня, чтобы, купив золото, а затем продав его, вы получили бы максимально возможную прибыль.

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

function trade_kadane(prices):

····sell_day ← 1

····buy_day ← 1

····best_profit ← 0

····for each s from 2 to prices.length

········if prices[s] < prices[buy_day]

············b ← s

········else

············b ← buy_day

········profit ← prices[s] — prices[b]

········if profit > best_profit

············sell_day ← s

············buy_day ← b

············best_profit ← profit

····return (sell_day, buy_day)

Дело в том, что нам незачем хранить день лучшей покупки для каждого дня на входе. Достаточно сохранить день лучшей покупки относительно дня лучшей продажи, найденной к настоящему моменту.

Примечания

1

Рисунок использован с согласия http://xkcd.com.

2

См., например, http://code.energy/coding-courses.

3

Адаптация схемы с сайта http://wikipedia.org.

4

См., например, http://code.energy/coding-courses.

5

Здесь картинка 257означает оператор присваивания: x картинка 2581 следует читать как «Присвоить x значение 1».

6

Любезно предоставлено http://ctp200.com.

7

Любезно предоставлено http://programmers.life.

8

В нечеткой логике значения могут быть промежуточными, но в этой книге она рассматриваться не будет.

9

И, между прочим картинка 259, они оба фактически истинные.

10

Названа так в честь Джорджа Буля (1815–1864). Его публикации положили начало математической логике.

11

Огастес де Морган дружил с Джорджем Булем. Кроме того, он обучал молодую Аду Лавлейс, ставшую первым программистом за век до того, как был создан первый компьютер.

12

Например, таблица истинности для 30 переменных будет иметь более миллиарда строк картинка 260.

13

См. http://code.energy/zebra-puzzle.

14

True = 1, False = 0. Если вы не знаете, почему 101 — это 5 в двоичной системе счисления, загляните в приложение I.

15

В 2016 году был создан действующий транзистор с размером 1 нм. Для справки: атом золота имеет размер 0,15 нм.

16

Комбинаторика и логика относятся к одной из важнейших областей информатики, которая называется дискретной математикой.

17

По определению 0! = 1. Мы говорим, что ноль элементов, то есть пустое множество, можно упорядочить единственным способом.

18

В литературе принято обозначение картинка 261( m — нижний индекс, n — верхний), которое читается как «сочетания m из n ». — Примеч. пер.

19

Профессиональная подсказка: поищите в Интернете по запросу « из 64 по 8 », чтобы узнать результат.

20

Любезно предоставлено http://xkcd.com.

21

См. http://wolframalpha.com.

22

Любезно предоставлено http://xkcd.com.

23

Чтобы разобраться в алгоритме, выполните его на бумаге с небольшим объемом входящих данных.

24

Теоретический минимум по Computer Science Все что нужно программисту и разработчику - изображение 262(см. раздел «Комбинаторика»).

25

Читаются такие конструкции следующим образом: «алгоритм сортировки имеет временную сложность o-n-квадрат».

26

По поводу сложностей большого «О» большинства алгоритмов, которые выполняют типовые задачи, смотрите http://code.energy/bigo.

27

Было доказано, что неэкспоненциальный алгоритм для любой NP-полной задачи может быть обобщен для всех NP-полных задач. Поскольку мы не знаем, существует ли такой алгоритм, вы также получите миллион долларов, если докажете, что NP-полная задача не может быть решена с использованием неэкспоненциальных алгоритмов.

28

Объем входных данных (так называемый размер входа) — это число элементов в обоих входных списках, взятых вместе. Цикл while выполняет три операции для каждого из этих элементов, следовательно, T( n ) = 3 n .

29

Если вам нужно больше узнать о множествах, см. приложение III.

30

Палиндромы — это слова и фразы, которые читаются одинаково в обе стороны, например «Ада», «топот», «ротатор».

31

Любезно предоставлено http://geek-and-poke.com.

32

В интервале n дней имеется n (n + 1)/2 пар дней (см. раздел «Комбинаторика» главы 1).

33

Подробнее о степенных множествах см. в приложении III.

34

Задача о рюкзаке является частью класса NP-полных задач, который мы обсудили в разделе 2.3. Вне зависимости от стратегии ее решают только экспоненциальные алгоритмы.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Владстон Феррейра Фило читать все книги автора по порядку

Владстон Феррейра Фило - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Теоретический минимум по Computer Science [Все что нужно программисту и разработчику] отзывы


Отзывы читателей о книге Теоретический минимум по Computer Science [Все что нужно программисту и разработчику], автор: Владстон Феррейра Фило. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x