¿Son lo mismo?¿Cuál es la diferencia entre un algoritmo y una función?
Respuesta
No.
Una función es un bloque de código en un programa de ordenador.
Un algoritmo es un concepto abstracto que describe cómo resolver un problema.
desafortunadamente no hay una definición formal y precisa de algoritmo. Según la tesis de Church-Turing, existe una definición universalmente aceptada que es informal. Incluso CLRS comienza diciendo "informalmente un algoritmo es ...". Incluso esta respuesta dice "concepto abstracto", que es bastante ambiguo. – DarthVader
Yo diría que una función es un concepto matemático, y no necesariamente relacionado con un programa de computadora, aunque también usamos algo llamado funciones en programación de computadora. Hasta donde yo sé, la función matemática, como concepto, se introdujo mucho antes de que existiera la programación informática con funciones. – runeks
@runeks, considerando el hecho de que este es un sitio web para preguntas relacionadas con la programación, consideraría ese hecho bastante irrelevante. – riwalk
Un algoritmo es un conjunto de instrucciones.
En la programación de computadoras, una función es una implementación de un algoritmo.
un _set_ es una palabra ambigua aquí, aunque probablemente se pueda aclarar. –
Un algoritmo describe la idea general, mientras que una función es una implementación de trabajo real de esa idea.
Podría ser una cuestión casi filosófica, pero un algoritmo es la respuesta (o cómo hacerlo) a un problema en el que una función no responde necesariamente a un problema en sí mismo.
Lo que quiere hacer normalmente es dividir su algoritmo en varias funciones que cada uno tiene su propio objetivo, que, al final, logrará el problema en cuestión, cuando se utilizan juntos.
Ex: desea ordenar una lista de números. El algoritmo utilizado sería, por ejemplo, el algoritmo Merge-sort. Ese algoritmo específico en realidad está compuesto por más de una función, una que dividirá su matriz, otra para verificar la igualdad, otra para fusionar todo nuevamente, y así sucesivamente.
En matemáticas, una función es "una relación matemática tal que cada elemento de un conjunto dado (el dominio de la función) se asocia con un elemento de otro conjunto (el rango de la función)" (fuente - google. com, define: función).
En informática, una función es una pieza de código que opcionalmente toma parámetros, opcionalmente da un resultado y opcionalmente tiene un efecto secundario (dependiendo del idioma, algunos idiomas prohíben los efectos secundarios). Debe tener una implementación de máquina específica para poder ejecutar.
El término de informática surgió del término matemático, que es la implementación de la máquina del concepto matemático.
Un algoritmo es "una regla precisa (o conjunto de reglas) que especifica cómo resolver un problema" (fuente - google.com, definir: algoritmo). Un algoritmo puede definirse fuera de la informática y no tiene una implementación definitiva de la máquina. Puede "implementarlo" escribiéndolo a mano :)
La diferencia clave aquí es que, en ciencias de la computación, un algoritmo es abstracto y no tiene una implementación definitiva de la máquina. Una función es concreta y tiene una implementación de máquina.
Eso no es necesariamente cierto. "función" puede significar una unidad de código tal como se implementa en un idioma particular. También puede significar una definición abstracta y funcional de computación, basada en el modelo del cálculo lambda. – Peeja
esta es la mejor respuesta. –
Un algoritmo generalmente se refiere al método o proceso utilizado para terminar con el resultado después del procesamiento matemático. Una función es una subrutina utilizada para evitar escribir el mismo código una y otra vez. Son diferentes en sus usos. Por ejemplo, puede haber un algoritmo que se utiliza para cifrar datos y una función para publicar códigos en una página web.
Aquí es alguna referencia además:
Un algoritmo es una serie de pasos (un proceso) para realizar un cálculo, mientras que una función es la relación matemática entre parámetros y resultados.
Una función en la programación es diferente del significado matemático típico de la función porque es un conjunto de instrucciones que implementan un algoritmo para calcular una función.
Un algoritmo es la implementación de una función.
En algunos casos, el algoritmo es trivial:
Función: Suma de dos números. Algoritmo: int sum(int x, int y){ return x+y; }
En otros casos, no lo es:
Función: Mejor movimiento de ajedrez. Algoritmo: Move bestChessMove(State gameState){ //I don't know the algorithm. }
El algoritmo puede ser solo pseudocódigo. –
Una función matemática es la interfaz o especificación de las entradas y salidas de un algoritmo.
Un algoritmo es la receta precisa que define los pasos que pueden implementar una función.
Confusamente, los diseñadores de lenguaje informático difunden esta distinción mediante el uso del concepto function
, func
, method
, etc., para hablar sobre ambos conceptos.
Por lo tanto, la distinción es una especificación vs. definición.
También hay una distinción semántica: un algoritmo busca proporcionar una solución a un problema. Está orientado a objetivos. Una función simplemente es - no hay un componente teleológico esencial.
Una función es una representación simbólica donde un método son los pasos mecánicos necesarios para obtener la respuesta.
Supongamos que esta función:
f(x) = x^ 2
Ahora bien, si te digo que contar f(5000)
que tiene que hacer las cosas que esta función no dice. Como por ejemplo cómo multiplicar. Entonces realmente estos son solo símbolos.
Pero si tengo un método pitón por ejemplo:
x = math.pow(500, 2) # or whatever it is
Luego, en este caso los pasos propios de cada operación están totalmente definidos (en las bibliotecas;)).
El algoritmo es una secuencia de instrucciones (posiblemente informal pero necesariamente precisa). La función es una regla formal que asocia alguna entrada con una salida específica.Las funciones implementan y formalizan algoritmos. P.ej. podemos formalizar "ir de A a B" como go(a)=b
o go(x,a)=b
(w/x
el que va), etc. De acuerdo con Wikipedia,
Un algoritmo es un método eficaz que puede ser expresado dentro de un finito cantidad de espacio y tiempo y en un lenguaje formal bien definido para calcular una función.
Por lo tanto se puede decir que "ir (ing) de A a B" es un método eficaz para el cálculo de go(a)=b
(si lo desea)
- 1. ¿Cuál es la diferencia entre una heurística y un algoritmo?
- 2. ¿Cuál es la diferencia entre un algoritmo y un método
- 3. ¿Cuál es la diferencia entre un método y una función?
- 4. ¿Cuál es la diferencia entre una subrutina y una función?
- 5. Cuál es la diferencia entre la función() {}() y la función() {}()
- 6. Cuál es la diferencia entre `$ (ventana) .load (función() {})` y `$ (función() {})`
- 7. ¿Cuál es la diferencia entre función (myVar) y (función) myVar?
- 8. ¿Cuál es la diferencia entre función y función
- 9. ¿Cuál es la diferencia entre "función" y "función"? en VIM?
- 10. ¿cuál es la diferencia entre declaración de función y firma?
- 11. ¿Cuál es la diferencia entre dict() y {}?
- 12. ¿Cuál es la diferencia entre un ayudante y un parcial?
- 13. ¿Cuál es la diferencia entre una mónada y un cierre?
- 14. ¿Cuál es la diferencia entre un RoutedCommand y una RoutedUICommand?
- 15. ¿Cuál es la diferencia entre una matriz y un objeto?
- 16. ¿Cuál es la diferencia entre un hilo y una fibra?
- 17. ¿Cuál es la diferencia entre un diccionario y una matriz?
- 18. ¿Cuál es la diferencia entre una instancia y un objeto?
- 19. ¿Cuál es la diferencia entre un tema y una plantilla?
- 20. ¿cuál es la diferencia entre:.! y: r !?
- 21. ¿Cuál es la diferencia entre un IORef y un MVar?
- 22. Cuál es la diferencia entre un algoritmo y un Patrón de diseño
- 23. ¿Cuál es la diferencia entre .ToString (+) y ""
- 24. ¿Cuál es la diferencia entre ".equals" y "=="?
- 25. ¿Cuál es la diferencia entre el algoritmo de avance hacia atrás y el algoritmo de Viterbi?
- 26. ¿Cuál es la diferencia entre {0} y ""?
- 27. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 28. Cuál es la diferencia entre = y: =
- 29. ¿cuál es la diferencia entre una clase y una biblioteca?
- 30. ¿Cuál es la diferencia entre " " y ""?
Cuál es la diferencia entre una receta y un delicioso pastel? –
¿Cuál es la diferencia entre una manzana y una barra de pan? –