Cтраница 2
Основными требованиями к форме записи алгоритма являются его наглядность, компактность и выразительность. В практике математического обеспечения вычислительных машин обычно используются два способа описания алгоритмов: графический и операторный. [16]
Монография известных американских специалистов, содержащая основы разработки и анализа алгоритмов вычислительной геометрии. Изложение основано на детальном рассмотрении конкретных задач и алгоритмов их решения. Особое внимание уделено способам описания алгоритмов на упрощенном Алголе. [17]
При этом будем учитывать, что читатель, не изучивший еще разд. С другой стороны, способ неформального описания алгоритма, использованный нами ранее на с. В нашем примере будет использовано общепринятое наглядное представление алгоритмов в виде так называемой схемы алгоритма. [18]
Алгоритмы описываются разными способами, в современной практике используется довольно много алгоритмических языков различного уровня. В каждом отдельном случае выбор языка зависит от ряда обстоятельств, и прежде всего от того, какого рода алгоритмы необходимо с его помощью описать, а также для кого предназначается описание - для машины или для человека. Ниже приводится обзор некоторых употребительных способов описания алгоритмов, рассчитанных не на машину, а на человека. [19]
Для основной нити нашего изложения этот пример поучителен формой алгоритма, решающего поставленную комбинаторную задачу. Наиболее важным свойством этого алгоритма является его направленность. Мы замечаем разницу между висячими и прочими вершинами. Если мы и откладываем некоторые вершины про запас ( запоминание вершин с большим значением функции ширины), то и это мы делаем систематически: мы не рыскаем произвольно среди нихт а берем всегда вершину, запомненную последней. Роль критериев эффективности алгоритмов играют уже упоминавшиеся оценки сложности алгоритма. Мы уже знаем, что каждая программа характеризуется числом команд и объемом расходуемой памяти. Заметим, что число команд можно понимать двояко: как число команд в программе, так и число выполнившихся команд при выполнении программы. В ряде разделов математики и программирования первая характеристика тоже важна, однако эффективность программы лучше характеризуется вторым показателем. Аналогичные характеристики рассматривают и для алгоритмов. Если зафиксировать способ описания алгоритма ( алгоритмический язык), точно описать, как данные размещаются в памяти, то тогда, выполняя алгоритм для некоторых исходных данных, можно точно посчитать или оценить как число элементарных шагов выполнения алгоритма, так и число единиц информации, которое надо одновременно размещать в памяти. [20]