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

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

Добавлено: 12-07-2013, 16:01
0

Автор: Рубанцев Валерий
Название: Как решать комбинаторные задачи на компьютере. Комбинаторика для программистов на языке C#
Издательство: RVGames
Год: 2013
Формат: PDF
Размер: 11 Mb
Для сайта: MirKnig.com

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

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

Комбинаторика как наука возникла сравнительно недавно.
Первая книга "Рассуждения о комбинаторном искусстве" вышла в 1666 году.
Написал её известный немецкий математик Готфрид Вильгельм фон Лейбниц, который и придумал название для этого раздела математики.
Однако решать комбинаторные задачи людям приходилось на протяжении всей своей истории.
Как в жизни, так и в программировании комбинаторные задачи встречаются на каждом шагу.
Например, сколько различных слов можно составить из букв русского алфавита?
Сколько существует различных комбинаций при игре в кости с двумя или тремя кубиками?
Сколько разных нарядов можно составить из трёх юбок и четырёх блузок?
Сколько существует разбиений числа на отдельные слагаемые?
Сколькими способами можно покрыть прямоугольник домино или тримино?
Многие детско-спортивные игры начинаются со считалок, бросания монет или жребия.
Гадания также основаны на комбинаторике - раскладывании карт, вытягивании спичек, отрывании лепестков у ромашки…
Или азартные игры! Какое число выпадет на рулетке, какие карты находятся в прикупе, какие числа следует зачеркнуть в карточке лото?
Как составить список покупок, расписание соревнований, футбольную команду, фоторобот, пазлы или кубик Рубика, припарковаться, приготовить блюдо, рассадить учеников по партам, расставить книги по полкам, сервировать стол, декорировать комнату, собрать механизм из деталей…
И даже творческие порывы не обходятся без комбинаторики!
Написание стихов и музыки, графика и живопись – почти комбинаторные процессы. Недаром в этих областях искусства «компьютеры» добились впечатляющих успехов. И наконец, все люди – всего лишь комбинация генов в молекулах ДНК!

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

- Ожерелья и браслеты
- Числовые магические квадраты
- Словесные магические квадраты
- Задача Иосифа Флавия
- Расстановка ферзей на шахматной доске
- Размен денег
- Расстановка знаков между числами, чтобы получилась сотня

Впрочем, этими задачами не ограничивается список тем книги.
Мы решим и «сопутствующие» комбинаторные проблемы:

- Раскраска вершин правильного многоугольника
- Слова Линдона и де Бройна
- Кружки с цифрами
- Максимальная числовая подпоследовательность
- Задача Макмагона о квадратном домино
- Расстановка ладей и задача о назначениях
- Магическая таблица
- Задачи Дональда Кнута

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

- полный перебор,
- перебор с возвратами,
- жадные алгоритмы,
- динамическое программирование,
- имитация отжига,

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

- генерирование перестановок,
- генерирование сочетаний,
- генерирование разбиений,
- генерирование композиций,
- генерирование браслетов,
- генерирование ожерелий,
- генерирование слов Линдона,
- генерирование слов де Бройна,
- генерирование чисел Каталана,
- генерирование расстановок скобок.

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


Скачать:

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

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

000


Вернуться
  • Комментарий: 0
  • Просмотров: 149
Уважаемый читатель, Вы зашли в библиотеку как незарегистрированный читатель.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.


Добавить отзыв или комментарий
Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *