0002 - Структуры данных и алгоритмы в Java - Например, многие главы содержат дополнительные разде...

М.Т. Гудрич, Р. Тамассия. Структуры данных и алгоритмы в Java. 2003

 М.Т. Гудрич, Р. Тамассия 
.  Структуры данных и алгоритмы в Java 
. 2003
. 985-475-011-6
. Мн.: Новое знание
. 
. Представлено подробное описание структур данных и алгоритмов, а также их разработки, анализа и реализации на примере Java — бурно развивающе
Название: 
Структуры данных и алгоритмы в Java
Автор: 
М.Т. Гудрич, Р. Тамассия
Год: 
2003
Издательство: 
Мн.: Новое знание
Описание: 

Представлено подробное описание структур данных и алгоритмов, а также их разработки, анализа и реализации на примере Java — бурно развивающегося языка программирования. Авторы не только являются известными исследователями в области структур данных и алгоритмов, но и имеют большой опыт преподавательской деятельности. Рациональная организация материала позволяет использовать данную книгу в качестве учебника. Издание предназначено и для тех, кто только приступает к изучению алгоритмов и структур данных, и для имеющих представление о данной проблеме.

Например, многие главы содержат дополнительные разделы, ориентированные на проблемы математики. Эти разделы помечены звездочкой . Векторы, списки и последовательности . Очереди с приоритетом . Сортировка, множества и выборка . Графы Можно опустить, если студенты знакомы с материалом Можно опустить при знакомстве студентов с материалом Можно опустить методы доказательств Можно рассмотреть альтернативную ситуацию для анализа Можно опустить амортизационный анализ Рассмотреть аплет для построения дерева Можно опустить Можно опустить списки и локаторы Можно опустить . Возможные варианты изложения курса структур данных для студентов первого и второго курсов Структуры данных в . Этот язык применен по следующим причинам. Тем не менее авторы остановили свой выбор на . В книге представлены основополагающие механизмы объединения структур данных, которые соответствуют интерфейсам библиотек прикладного программирования . В книге используются термины . Итак, кроме изучения основных составляющих процесса проектирования структур данных и их реализации, книга содержит и материал по библиотекам структур данных. Благодарности В создании книги принимало участие большое количество людей. Предварительные версии отдельных глав были проработаны многими студентами университетов Брауна и Хопкинса, их опыт и отклики учтены при создании окончательного варианта текста. В проекте принимал участие и ряд специалистов, внесших личный вклад. Кроме того, Райен, Наташа, Марк, Метью, Бенуа и Лука принимали активное участие в разработке черновых вариантов глав книги и внесли ряд ценных предложений. Любомир Бурдев, Майк Деммер, Майкл Хенди, Майкл Хорн и Скот Спейглер работали над созданием курса по основам программирования . Авторы выражают благодарность всем, кто оказал помощь в разработке упражнений, заданий по программированию и анимационных систем алгоритмов, в частности Джеймсу Бейкеру, Стине Бриджман, Роберту Коэну, И. При создании книги учитывались также замечания наших друзей и коллег. В частности, выражаем благодарность Карен Гудрич, Арт Муршед и Скотту Смиту за их полезные замечания. Авторы также очень признательны всем сторонним критикам и читателям за их многочисленные отклики, электронные письма и конструктивные замечания, которые были очень полезны при написании второго издания. Мы выражаем особую благодарность за внесение полезных предложений и комментариев . Наша благодарность редакторам Реджине Брукс, Полу Скокету и Биллу Зобристу за их поддержку этого проекта. Мы благодарны всему коллективу издательства . Созданию плодотворной рабочей обстановки способствовало новейшее программно. Для создания рукописи книги в основном была использована программа . В заключение авторы хотят выразить признательность Изабель Круз, Карен Гудрич, Джузеппе Ди Батиста, Франко Препарата, Ионису Толлису, а также своим родителям за помощь, поддержку и советы на всех этапах создания этого труда. Благодарны им также за напоминание о том, что в жизни существует еще много интересного, кроме написания книг. Классы, типы и объекты . Приведение типов переменных в выражениях . Операторы организации выполнения алгоритма . Стандартный ввод и вывод . Написание программы на языке . Его основная задача состояла в быстром выполнении последовательностей математических вычислений, причем скорость этих вычислений для того времени была действительно поразительной. В современном мире компьютеры используются в различных сферах. В повседневной жизни компьютер в режиме реального времени управляет деятельностью стиральных машин, автомобилей, газовых плит. Ученые и конструкторы используют компьютер для разработки новых моделей самолетов, для моделирования сложных молекул или галактик. Более того, компьютеры являются неотъемлемым элементом современной коммерции, так как с их помощью производится большая часть финансовых операций, кроме того, с помощью компьютеров обеспечиваются различные виды коммуникаций, в том числе и Интернет. Безусловно, со времени создания в . Средний объем памяти современных компьютеров в десятки миллионов раз превосходит лучшие показатели . Подобный рост определил новую роль компьютеров в мире. С их помощью можно не только быстро производить вычисления, а обрабатывать информацию. Они используются для хранения, анализа, поиска, передачи и обновления огромных массивов сложных данных. Для быстрого выполнения этих задач необходима соответствующая организация данных, а также скорость и эффективность методов, используемых для доступа к ним и обработки. Иными словами, современные компьютеры нуждаются в хороших структурах данных и алгоритмах. Подобные структуры и алгоритмы создаются с помощью определенных команд, и одним из наиболее эффективных способов этого является применение развитого языка программирования . В данной главе вкратце ознакомимся с основами языка программирования . Этот язык создан для обеспечения надежного исполнения программ независимо от применяемой платформы, что является существенным преимуществом при многообразии существующих вычислительных средств. Кроме того, в этом языке обеспечена защита данных на нескольких уровнях . Классы, типы и объекты . В языке имеется простой встроенный механизм управления памятью и . В этой и последующей главах остановимся на изучении отдельных элементов языка . Однако полное описание языка . Существует несколько крупных разделов, которые не имеют непосредственного отношения к созданию структур данных и алгоритмов, в силу чего не включены в книгу, являясь при этом фундаментальными составляющими языка. К таким разделам относятся графические пользовательские интерфейсы, потоки, компоненты . Для более подробного изучения этих тем рекомендуем обратиться к пояснениям в конце главы. Классы, типы и объекты Приступим к рассмотрению классов и объектов языка . Объекты содержат данные и методы доступа и изменения этих данных. Каждый объект представляет экземпляр определенного класса, описывающий тип содержащихся в объекте данных, а также операции, которые могут выполняться над данными.