Аннотация

Книга посвящена алгоритмам обработки сложных структур данных. Рассматриваются решения наиболее распространенных задач: создание и изменение деревьев, поиск кратчайшего пути между вершинами в графе, обработка списков и массивов, символьное преобразование выражений. Примеры классических алгоритмов реализованы на языке Java, обеспечивающем объектно-ориентированный подход к программированию и являющемся универсальным при работе на различных платформах. Приводятся сведения о технологии построения программ, основу которых составляют объекты, обменивающиеся сообщениями. Описывается функциональное представление информации, позволяющее получать короткие и изящные программы для решения сложных задач. Для широкого круга программистов.

Аннотация

Описываются методы построения и использования сложных структур данных: стеки, деревья, графы; нетрадиционные представления данных, в частности функциональное представление. Рассматриваются различные алгоритмы обработки этих структур на простых примерах программ. Изложение осуществляется на основе объектно-ориентированного подхода с использованием языка программирования C++. Показано, как тот или иной выбор решения задач влияет на эффективность и выразительность программ. Приводится большое количество текстов программ, иллюстрирующих рассматриваемые алгоритмы. Для программистов.