Каково различие между Алгоритмом и Методом

Когда вы хотите вернуть два разных типа объектов, я думаю, что уместно использовать список.

index <- function(x) {
    n <- length(x)
    list(length = n, n10 = if(n > 10) "YES" else "NO")
}

index(1:8)
# $length
# [1] 8
#
# $n10
# [1] "NO"

index(1:23)
# $length
# [1] 23
#
# $n10
# [1] "YES"
19
задан unj2 18 May 2009 в 18:00
поделиться

8 ответов

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

-1
ответ дан 30 November 2019 в 03:20
поделиться

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

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

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

23
ответ дан 30 November 2019 в 03:20
поделиться

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

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

7
ответ дан 30 November 2019 в 03:20
поделиться

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

1
ответ дан 30 November 2019 в 03:20
поделиться

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

3
ответ дан 30 November 2019 в 03:20
поделиться

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

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

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

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

Короче говоря, 2) Перекидной переключатель 3) Электронный поток 4) Сгенерированный свет

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

3
ответ дан 30 November 2019 в 03:20
поделиться

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

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

1
ответ дан 30 November 2019 в 03:20
поделиться

Что ж, для любителей этимологии

http://www.etymonline.com/index.php?search=algorithm+method&searchmode=or

1
ответ дан 30 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: