КНИГИ · ЖУРНАЛЫ
НАШ ОПРОС

Какую категорию следует пополнять чаще?

Компьютерные
Военное дело
Журналы
Железо ПК
Для дома
Школа,ВУЗ
Человек
СВЯЗЬ
Электроника
В мире SOFTа (новости)
Образы дисков
Механика
Авто-мото

 
Алгоритмы и структуры данных


Алгоритмы и структуры данных

Вирт Н.


Новая книга известного швейцарского специалиста посвящена изложению фундаментальных принципов построения эффективных и надежных программ. В ней содержится также описание и анализ основных алгоритмов. Изложение ведется на языке Модула-2.
Для программистов разной квалификации, преподавателей и студентов, специализирующихся по программному обеспечению.

Предлагаемая читателям книга — это новая работа Н. Вирта, специалиста, хорошо известного в кругу программистов. Впрочем, сразу надо сделать уточнение: эта книга представляет собой переработанную версию предыдущей книги этого же автора «Algorithms + Data Structures = Programs» (русский перевод: Алгоритмы -f- структуры данных — программы, М.: Мир, 1985). Эра информатики породила совершенно новую возможность: книга уже не только может переводиться на другой «человеческий» язык, ее можно переложить на другой язык программирования, так же как симфонию можно переложить для фортепиано. Все изложение в книге ведется на языке Модула-2, а не на Паскале. Но несмотря на это книга, ее сюжет, остаются прежними: как надо программировать.
Предполагается, что читатель — достаточно опытный программист, поэтому азы этого искусства здесь не затрагиваются. Скорее можно сказать, что делается попытка привить человеку некоторый стиль программирования. Хотя, конечно же, такой опытный учитель, как Н. Вирт, не делает даже и попыток определить, что же такое этот стиль. Просто его нужно впитывать «с молоком матери». В книге дается масса примеров с различного рода комментариями к ним. Чаще всего эти комментарии связаны с оценками производительности алгоритмов и программ, хотя попадаются и другие темы. Приведенные примеры достаточно небольшие, чтобы их можно было воспринять целиком, и в то же время разумно сложные, что позволяет им быть интересными и содержательными.




В последние годы программирование для вычислительных машин выделилось в некоторую дисциплину, владение которой стало основным и ключевым моментом, определяющим успех многих инженерных проектов, а сама она превратилась в объект научного исследования. Из ремесла программирование перешло в разряд академических наук. Первый крупный вклад в ее становление сделали Э. Дейкстра и Ч. Хоар. «Заметки по структурному программированию» Дейкстры [1] заставили взглянуть на программирование как на объект, требующий научного подхода и бросающий определенный интеллектуальный вызов; такой подход даже получил название «революции» в программировании. В статье «Аксиоматическая основа программирования для вычислительных машин» [2] Хоар продемонстрировал, что программы поддаются точному анализу, основанному на строгих математических рассуждениях. В этих работах убедительно показано, что можно избежать многих ошибок, традиционных для программистов, если последние будут осмысленно пользоваться методами и приемами, которые раньше они применяли интуитивно, часто не осознавая их как таковые. При этом основное внимание уделяется построению и анализу программ, а более точно — структуре алгоритмов,
представляемых текстом программы. Причем совершенно очевидно, что систематический и научный подход прежде всего применим к большим, комплексным программам, работающим со сложными данными. Таким образом, методология программирования должна включать все аспекты строения данных. В конечном счете программы представляют собой конкретные, основанные на некотором реальном представлении и строении данных воплощения абстрактных алгоритмов. Важный вклад в упорядочение терминологии и в концепции строения данных внесла работа Хо-ара «О структурной организации данных» [3]. Стало ясно, что решение о том, как представлять данные, невозможно принимать, не зная, какие алгоритмы будут к ним применяться, и наоборот, выбор алгоритма часто очень сильно зависит от строения данных, к которым он применяется. Короче говоря, структура программы и строение данных неразрывно связаны между собой.
Итак, у нас были две причины начать книгу главой о строении данных. Во-первых, мы интуитивно понимаем, что данные предшествуют алгоритму, ведь прежде, чем выполнять какие-либо операции, нужно иметь объекты, к которым они применяются. Во-вторых, и это более непосредственная причина, мы предполагаем, что читатель уже знаком с основными понятиями программирования. По традиции, достаточно оправданной, вводные курсы программирования посвящаются в основном алгоритмам, оперирующим данными с относительно простой структурой. Поэтому казалось вполне разумным посвятить начальную главу строению данных.

  • Формат: djvu
  • Размер в архиве: 7.74 Мб.
  • Язык: Русский
  • Пароль к архиву: http://www.box-m.info
  • Ссылки:
  • Внимание! У вас нет прав для просмотра скрытого текста.
Комментарии: 0 | Просмотров: 1278
Рейтинг: ок 0 no
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.