Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Введение
Назначение и особенности книги
Данная книга представляет собой конспективный учебник по дискретной математике, включающий в себя описания важнейших алгоритмов над объектами дискретной математики. Учебник ориентирован на студентов программистских специальностей и практикующих программистов, которым по роду их занятий приходится иметь дело с конструированием и анализом нетривиальных алгоритмов.
В настоящее время имеется масса доступной литературы, покрывающей обе эти темы. С одной стороны, существуют десятки прекрасных книг по дискретной математике, начиная с элементарных учебников для начинающих и кончая исчерпывающими справочниками для специалистов. С другой стороны, большое число монографий, многие из которых стали классическими, посвящены вопросам теории и технологии программирования. Как правило, такие монографии содержат детальное описание и анализ важнейших и известнейших алгоритмов. Однако книги, которые бы рассматривали обе эти темы одновременно и во взаимосвязи, практически отсутствуют. В качестве редкого исключения можно назвать книгу В. Липского "Комбинаторика для программистов" [14], перевод которой выдержал уже два издания в России. Данный учебник принадлежит именно к такому :жанру математической литературы, в котором математическое изложение доводится до уровня практически исполнимых программ. Он отличается большей широтой, но, пожалуй, меньшей глубиной охвата материала.
Учебник основан на лекционном курсе, который автор уже в течение четырнадцати лет читает студентам кафедры "Прикладная математика" Санкт-Петербургского государственного технического университета, что наложило определенный отпечаток на состав материала.
Учебник охватывает почти все основные разделы дискретной математики: наивную теорию множеств, математическую логику, общую алгебру, комбинаторику теорию графов. Из основных разделов отсутствуют теория алгоритмов и (машинная) арифметика, равно как и некоторые необходимые для программиста, но более специальные разделы, такие как теория формальных грамматик, вычислительная геометрия и теория конечных автоматов. Это объясняется тем, что данные разделы студенты изучают в специальных курсах. В то же время в учебник включены такие специальные разделы, как теория булевых функций и теория кодирования, поскольку по этим темам специальных курсов не предусмотрено.
В целом учебник преследует три основные цели.
- Познакомить читателя с максимально широким кругом понятий дискретной математики. Количество определяемых и упоминаемых понятий и специальных терминов намного превышает количество понятий, обсуждаемых более детально. Тем самым у студента формируется терминологический запас, необходимый для самостоятельного изучения специальной математической и теоретико-программистской литературы.
- Сообщить читателю необходимые конкретные сведения из дискретной математики, предусматриваемые стандартной программой технических высших учебных заведений. Разбор доказательств приведенных утверждений и выполнение упражнений позволят студенту овладеть методами дискретной математики, наиболее употребительными при решении практических задач.
- Пополнить запас примеров нетривиальных алгоритмов. Изучение алгоритмов решения типовых задач дискретной математики и способов представления математических объектов в программах абсолютно необходимо практикующему программисту, поскольку позволяет уменьшить трудозатраты на "изобретение велосипеда" и существенно обогащает навыки конструирования алгоритмов.
Начало
Краткое содержание
Полное содержание
Предисловие
Структура книги
Заказать книгу в магазине "Мистраль"