Это одно и то же?
В чем разница между алгоритмом и функцией?
Ответ 1
Нет.
Функция представляет собой блок кода в компьютерной программе.
Алгоритм представляет собой абстрактное понятие, описывающее, как решить проблему.
Ответ 2
В математике функция представляет собой "математическое соотношение, так что каждый элемент данного набора (область функции) связан с элементом другого набора (диапазон функции)" (source-google.com, define: function).
В информатике функция представляет собой фрагмент кода, который необязательно принимает параметры, необязательно дает результат и, возможно, имеет побочный эффект (в зависимости от языка - некоторые языки запрещают побочные эффекты). Для выполнения он должен иметь конкретную реализацию машины.
Термин компьютерной науки выходил из математического термина, являющегося машинной реализацией математической концепции.
Алгоритм - это "точное правило (или набор правил), определяющее, как решить какую-либо проблему" (source - google.com, define: algorithm). Алгоритм может быть определен вне компьютерной науки и не имеет окончательной реализации машины. Вы можете "реализовать" его, написав его вручную:)
Основное различие в том, что в информатике алгоритм является абстрактным и не имеет окончательной реализации машины. Функция конкретна и имеет реализацию машины.
Ответ 3
Алгоритм представляет собой набор инструкций.
В компьютерном программировании функция представляет собой реализацию алгоритма.
Ответ 4
Алгоритм представляет собой серию шагов (процесс) для выполнения вычисления, тогда как функция представляет собой математическое соотношение между параметрами и результатами.
Функция в программировании отличается от типичного математического значения функции, поскольку она представляет собой набор инструкций, реализующих алгоритм вычисления функции.
Ответ 5
Алгоритм описывает общую идею, тогда как функция является фактической рабочей реализацией этой идеи.
Ответ 6
Это может быть почти философский вопрос, но я говорю, что алгоритм - это ответ (или как-то) на проблему, когда функция не отвечает на одну проблему сама по себе.
То, что вы хотите сделать обычно, разбивает ваш алгоритм на функцию секций, каждый из которых имеет свою собственную цель, что в конечном итоге приведет к решению проблемы при использовании вместе.
Пример: вы хотите отсортировать список номеров. Используемый алгоритм был бы, например, алгоритмом сортировки Merge. Этот конкретный алгоритм на самом деле состоит из нескольких функций, которые будут разделять ваш массив, а другой - на равенство, другой - на объединение всех вместе и т.д.
Ответ 7
Математическая функция - это интерфейс или спецификация входов и выходов алгоритма.
Алгоритм - это точный рецепт, определяющий шаги, которые могут выполнять функцию.
Смутно, разработчики компьютерных языков размывают это различие, используя понятия function
, func
, method
и т.д., чтобы обсудить обе концепции.
Таким образом, различие является одним из спецификаций против определения.
Существует также семантическое различие: алгоритм направлен на решение проблемы. Он целеустремлен. Функция просто есть - нет существенной телеологической составляющей.
Ответ 8
Алгоритм - это реализация функции.
В некоторых случаях алгоритм тривиален:
Функция: сумма двух чисел.
Алгоритм:
int sum(int x, int y){
return x+y;
}
В других случаях это не так:
Функция: Лучший шахматный ход.
Алгоритм:
Move bestChessMove(State gameState){
//I don't know the algorithm.
}
Ответ 9
Алгоритм представляет собой (возможно, неформальную, но обязательно точную) последовательность инструкций. Функция - это формальное правило, которое связывает некоторый вход w/конкретного выхода. Функции реализуют и формализуют алгоритмы. Например. мы можем формализовать "перейти от a к b" как go(a)=b
или go(x,a)=b
(w/x
тот, кто идет) и т.д. Согласно Wikipedia,
Алгоритм - эффективный метод, который может быть выражен в пределах конечное количество пространства и времени и в четко определенных формальных язык для вычисления функции.
Итак, вы можете сказать, что "go (ing) from a to b" - эффективный метод вычисления go(a)=b
(если вы хотите)
Ответ 10
Алгоритм обычно относится к методу или процессу, используемому для достижения результата после математической обработки. Функция - это подпрограмма, используемая для избежания повторного написания одного и того же кода. Они различны в своих целях. Например, может существовать Алгоритм, который используется для шифрования данных и функция для отправки кода на веб-страницу.
Вот еще одна ссылка:
Ответ 11
Функция является символическим представлением, где метод - это механические шаги, необходимые для получения ответа.
Предположим, что эта функция:
f(x) = x^ 2
Теперь, если я скажу вам считать f(5000)
, вы должны делать то, что эта функция не говорит. Например, как размножаться. Так что это действительно символы.
Но если у меня есть метод python, например:
x = math.pow(500, 2) # or whatever it is
Тогда в этом случае сами шаги для каждой операции полностью определены (в библиотеках;)).