Подтвердить что ты не робот

В чем разница между алгоритмом и методом

Как вы различаете алгоритм и метод? Почему мы не называем метод Ньютона или алгоритмы метода Форда-Фолкерсона? Каковы свойства хорошего алгоритма и что квалифицирует метод как алгоритм?

4b9b3361

Ответ 1

Что касается метода Форда-Фолкерсона, CLRS называет его скорее методом, чем алгоритмом, потому что "он включает в себя несколько реализаций с различным временем выполнения" [pp. 651. 2nd editon]

Ответ 2

Алгоритмы заканчиваются на конечном числе шагов.

Процедура, которая имеет все характеристики алгоритма, за исключением того, что она может не иметь конечности, может быть названа вычислительным методом. Первоначально Евклид представил не только алгоритм для наибольшего общего делителя чисел, но и очень похожую геометрическую конструкцию для "наибольшей общей меры" длин двух сегментов линии; это вычислительный метод, который не заканчивается, если заданные длины несоизмеримы. - D.Knuth, TAOCP vol 1, Основные понятия: Алгоритмы

Метод Ньютона Рафсона не гарантированно сходится, а не обнаруживает сбой конвергенции. Если вы завершите метод с обнаружением и завершением конвергенции на конечном эпсилоне или после конечного числа шагов, вы получите алгоритм.

Ответ 3

Существует нет технической разницы между термином "метод", как в "методе Ньютона" и "алгоритме".

EDIT: Возможно, Пит прав, что алгоритмы заканчиваются, а методы не могут (кому я должен спорить с Кнутом?) Однако я не думаю, что такое различие, которое большинство людей сделает, основываясь только на вашем использовании одно слово или другое.

Ответ 4

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

Ответ 5

В общем программировании говорят, что алгоритмы - это шаги, с помощью которых выполняется задача. Согласно Wikipedia,

алгоритм представляет собой конечную последовательность инструкций, явную пошаговую процедуру для решения проблемы, часто используемую для вычисления и обработки данных. Это формально эффективный метод, в котором список четко определенных инструкций для выполнения задачи будет при заданном начальном состоянии проходить через четко определенную последовательность последовательных состояний, в конечном итоге заканчивая конечным состоянием. Переход от одного состояния к другому не обязательно детерминирован; некоторые алгоритмы, известные как вероятностные алгоритмы, включают случайность. <

В информатике метод или функция является частью объектно-ориентированной философии программирования, где программы производятся из классов, содержащих методы/функции для выполнения определенных задач. Еще раз, цитируя Wikipedia

В объектно-ориентированном программировании метод является подпрограммой, которая связана исключительно с классом (называемым методом класса или статическими методами) или с объектом (так называемые методы экземпляра). Как и процедура в языках программирования процедур, метод обычно состоит из последовательности операторов для выполнения действия, набора входных параметров для настройки этих действий и, возможно, выходного значения (называемого возвращаемым значением). Методы могут обеспечить механизм доступа (для чтения и записи) инкапсулированных данных, хранящихся в объекте или классе. <

Короче говоря, алгоритм - это шаги, по которым мы делаем что-то вроде включения лампочки:

1) Перейдите к переключателю 2) Флип-переключатель 3) Поток электронов 4) Сгенерированный свет

Методы - это то, где мы фактически кодируем действия внутри класса.

Ответ 6

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

Ответ 7

В контексте, в котором вы указываете (метод Ньютона и т.д.), нет существенного различия между алгоритмом и методом. Оба они устанавливают пошаговые инструкции для решения проблемы. В статье Википедии о методе Ньютона говорится: "Алгоритм является первым в классе методов Домахолдера, которому удалось воспользоваться методом Галлея". Граница в лучшем случае размыта.

В информатике алгоритм по-прежнему является поэтапным способом решения проблемы - этапы реализации-агностики. Метод обычно относится к фрагменту кода, связанного с классом или объектом, который выполняет некоторую задачу, - он может реализовать многие алгоритмы потенциально.

Ответ 9

Алгоритм - это как формула для решения любой конкретной задачи шаг за шагом, без какой-либо двусмысленности на любом шаге и должна иметь конечную точку. методология является более общей формой любого решения. он предоставил способ решения любой проблемы, но в алгоритме путь более точно сформулирован для решения.

Ответ 10

Метод аналогичен стратегии, алгоритм аналогичен тактике. Пример: на войне вы разрабатываете стратегию (метод), чтобы захватить страну: сначала берете порты, продвигайте запад на землю, затем окружайте капитал и т.д. Эта стратегия разделена на несколько тактических этапов (алгоритмов): во-первых, говорит солдатам шаг за шагом, точно, как они собираются взять порты; то, что говорит солдатам, как они должны продвигаться на запад; затем, с точными шагами для солдат, чтобы окружить город и т.д.

Ответ 11

Процедура может продолжаться вечно. Где в качестве алгоритма, в конечном итоге закончится и будет четко определен каждый шаг.