Главная » Java, Структуры данных и алгоритмы » Программирование на языке Java

0

В первом компьютере ENIAC структуры данных не использовались. Его основная задача состояла в быстром выполнении последовательностей математических вычислений, причем скорость этих вычислений для того времени была действительно поразительной. Однако основная заслуга ENIAC состоит не в способе вычислений, а в том, что он положил начало веку компьютеров.

В современном мире компьютеры используются в различных сферах. В повседневной жизни компьютер в режиме реального времени управляет деятельностью стиральных машин, автомобилей, газовых плит. Ученые и конструкторы используют компьютер для разработки новых моделей самолетов, для моделирования сложных молекул или галактик. Более того, компьютеры являются неотъемлемым элементом современной коммерции, так как с их помощью производится большая часть финансовых операций, кроме того, с помощью компьютеров обеспечиваются различные виды коммуникаций, в том числе и Интернет. Безусловно, со времени создания в 1945 году ENIAC[1] компьютеры значительно изменились.

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

Подобные структуры и алгоритмы создаются с помощью определенных команд, и одним из наиболее эффективных способов этого является применение развитого языка программирования Java. В данной главе вкратце ознакомимся с основами языка программирования Java, предполагая, что читатель знаком с другими языками высокого уровня, такими как Pascal, С или С++.

Java обладает целым рядом свойств, позволяющих применять его при исследовании процессов реализации структур данных и алгоритмов. Этот язык создан для обеспечения надежного исполнения программ независимо от применяемой платформы, что является существенным преимуществом при многообразии существующих вычислительных средств. Java позволяет применять указатели для реализации сложных сцепленных структур, но в то же время ограничивает использование потенциально опасных приемов программирования, таких как арифметика указателей и произвольное индексирование массивов. Кроме того, в этом языке обеспечена защита данных на нескольких уровнях (например, открытые

и закрытые переменные и методы), и существует большой список, в котором перечислены условия возникновения возможных ошибок. В языке имеется простой встроенный механизм управления памятью и «сбора мусора», который может быть просто не замечен начинающим программистом, однако предлагает дополнительные приемы работы опытным пользователям. И наконец, Java содержит простые структурные компоненты, которые используются при достаточно сложных видах программирования, таких как параллельное исполнение нескольких алгоритмов, сетевое программирование и создание графических пользовательских интерфейсов.

В этой и последующей главах остановимся на изучении отдельных элементов языка Java, которые непосредственно связаны с реализацией структур данных и алгоритмов, а именно:

•                       классы, типы и объекты (раздел 1.1),

•                       методы (раздел 1.2),

•                       переменные и выражения (раздел 1.3),

•                       алгоритмы (раздал 1.4),

•                       массивы (раздел 1.5),

•                       ввод и вывод данных (раздел 1.6),

•                       пакеты (раздел 1.7),

•                       исключения (раздел 2.3),

•                       интерфейсы (раздел 2.4),

•                       приведение типа (раздел 2.5).

Однако полное описание языка Java не является целью данной книги. Существует несколько крупных разделов, которые не имеют непосредственного отношения к созданию структур данных и алгоритмов, в силу чего не включены в книгу, являясь при этом фундаментальными составляющими языка. К таким разделам относятся графические пользовательские интерфейсы, потоки, компоненты JavaBeans и сокеты. Для более подробного изучения этих тем рекомендуем обратиться к пояснениям в конце главы.

Источник: Гудрич М.Т. Г93 Структуры данных и алгоритмы в Java / М.Т. Гудрич, Р. Тамассия; Пер. с англ. A.M. Чернухо. — Мн.: Новое знание, 2003. — 671 е.: ил.

По теме:

  • Комментарии