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

0

В одной старинной истории рассказывается о том, как известного математика Архимеда попросили определить, была ли полученная царем корона из чистого золота, или в ней имелись примеси серебра, как сообщил доносчик. Способ определить состав короны Архимед понял, когда принимал ванну. Он заметил, что количество воды, которое выливается из ванной при погружении в нее, пропорционально массе его тела. Поняв сущность этого явления, он выскочил из ванной и голый побежал по улицам города с криками «Эврика, эврика!». Таким образом Архимед открыл средство анализа (вытеснение), которое в сочетании с обычными весами позволило определить подлинность новой короны царя. Однако это открытие оказалось губительным для мастера, который отливал эту корону, так как анализ Архимеда показал, что корона вытесняет больше воды, чем слиток чистого золота той же массы, что и явилось доказательством наличия примесей.

В книге авторы рассматривают создание «качественных» структур данных и алгоритмов. В общих словах, структура данных — это-систематизированный способ организации данных и доступа к ним, а алгоритм — поэтапная процедура выполнения некоего задания за определенный период времени. Данные понятия являются центральными в сфере компьютерных технологий, однако, чтобы называть некоторые структуры данных и алгоритмы «качественными», следует использовать точные приемы их анализа. Первостепенным средством анализа, применяемым в книге, являются затраты времени на выполнение алгоритмов и операций над структурами данных, важное значение имеет и используемое дисковое пространство. Время выполнения является естественным показателем качества, так как, согласно известной поговорке, время — деньги. Однако, рассматривая время выполнения как основной критерий качества, следует обратиться к весьма интересному вопросу.

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

По теме:

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