Как решать комбинаторные задачи на компьютере. Комбинаторика для программистов на языке C#

Купить бумажную книгу и читать

Купить бумажную книгу

По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".

Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.

Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.

Автор:

Название: Как решать комбинаторные задачи на компьютере. Комбинаторика для программистов на языке C#

Издательство: RVGames

Год: 2013

Формат: PDF

Размер: 11 Mb

Для сайта:

В книге подробно рассматривается решение конкретных комбинаторных задач на языке C#

Исходные коды прилагаются!

Комбинаторика как наука возникла сравнительно недавно.

Первая книга "Рассуждения о комбинаторном искусстве" вышла в 1666 году.

Написал её известный немецкий математик Готфрид Вильгельм фон Лейбниц, который и придумал название для этого раздела математики.

Однако решать комбинаторные задачи людям приходилось на протяжении всей своей истории.

Как в жизни, так и в программировании комбинаторные задачи встречаются на каждом шагу.

Например, сколько различных слов можно составить из букв русского алфавита?

Сколько существует различных комбинаций при игре в кости с двумя или тремя кубиками?

Сколько разных нарядов можно составить из трёх юбок и четырёх блузок?

Сколько существует разбиений числа на отдельные слагаемые?

Сколькими способами можно покрыть прямоугольник домино или тримино?

Многие детско-спортивные игры начинаются со считалок, бросания монет или жребия.

Гадания также основаны на комбинаторике - раскладывании карт, вытягивании спичек, отрывании лепестков у ромашки…

Или азартные игры! Какое число выпадет на рулетке, какие карты находятся в прикупе, какие числа следует зачеркнуть в карточке лото?

Как составить список покупок, расписание соревнований, футбольную команду, фоторобот, пазлы или кубик Рубика, припарковаться, приготовить блюдо, рассадить учеников по партам, расставить книги по полкам, сервировать стол, декорировать комнату, собрать механизм из деталей…

И даже творческие порывы не обходятся без комбинаторики!

Написание стихов и музыки, графика и живопись – почти комбинаторные процессы. Недаром в этих областях искусства «компьютеры» добились впечатляющих успехов. И наконец, все люди – всего лишь комбинация генов в молекулах ДНК!

В книге подробно рассматривается решение семи БОЛЬШИХ комбинаторных задач:

- Ожерелья и браслеты

- Числовые магические квадраты

- Словесные магические квадраты

- Задача Иосифа Флавия

- Расстановка ферзей на шахматной доске

- Размен денег

- Расстановка знаков между числами, чтобы получилась сотня

Впрочем, этими задачами не ограничивается список тем книги.

Мы решим и «сопутствующие» комбинаторные проблемы:

- Раскраска вершин правильного многоугольника

- Слова Линдона и де Бройна

- Кружки с цифрами

- Максимальная числовая подпоследовательность

- Задача Макмагона о квадратном домино

- Расстановка ладей и задача о назначениях

- Магическая таблица

- Задачи Дональда Кнута

Для решения задач мы будем использовать как общие методы:

- полный перебор,

- перебор с возвратами,

- жадные алгоритмы,

- динамическое программирование,

- имитация отжига,

так и чисто комбинаторные:

- генерирование перестановок,

- генерирование сочетаний,

- генерирование разбиений,

- генерирование композиций,

- генерирование браслетов,

- генерирование ожерелий,

- генерирование слов Линдона,

- генерирование слов де Бройна,

- генерирование чисел Каталана,

- генерирование расстановок скобок.

Все приложения написаны на языке Си-шарп, который идеально подходит для решения комбинаторных задач, но исходный код без труда может быть переведён на любой другой современный язык программирования, поддерживающий платформу .NET.

Скачать:

12.3 Mb Книга "Как решать комбинаторные задачи на компьютере. Комбинаторика для программистов на языке C#" в формате PDF + Исходные коды программ

Несколько скриншотов работающих приложений:

Дата создания страницы: