¿Son los métodos en algoritmos Java?

Los algoritmos generalmente son problemas bien definidos que se pueden resolver de muchas maneras diferentes, pero el énfasis está en la corrección, la eficiencia del tiempo y el uso de la memoria. Pueden ser problemas comúnmente conocidos donde hay soluciones conocidas disponibles. No deben estar vinculados a un conjunto de datos en particular, pero se pueden ejecutar en cualquier conjunto. Al estar en el campo durante tanto tiempo, se reservaría el uso de este término para problemas especiales de interés, y no cualquier conjunto de instrucciones al azar.

Método es el término de Java para cualquier colección de instrucciones con un nombre definido, parámetros de entrada y tipo de salida. Puede poner un algoritmo en un método, sin embargo, los métodos pueden contener más instrucciones (o algoritmos múltiples) no específicamente relacionados con un algoritmo, o relacionados con cualquier otra instrucción en la colección.

ejemplo:

Algoritmo: determina la respuesta al universo.

Método

public String myMethod (String inputParameter) {

determineTheAnswerToTheUniverse ();

System.out.println (“Hola Mundo”);

devolver “42”;

}

Entonces NO, los métodos no son algoritmos. Aunque puede decir que los métodos pueden ejecutar algoritmos y los algoritmos pueden ejecutar métodos, la diferencia radica en el contenido de las instrucciones dentro de ellos.

Los métodos son una implementación de un algoritmo en un entorno particular. Otra forma de verlo es que codifican un proceso empresarial de nivel superior y el algoritmo ‘en el contexto del modelo de objetos de la informática’ era una forma de cumplir con los requisitos de ese proceso. Puede lograr lo mismo con un algoritmo diferente (por ejemplo, en un sistema funcional) o con el mismo algoritmo en un sistema Windows .Net.

Requisito / proceso: ordenar una lista de números, primero los más altos.
Algoritmo: clasificación de burbujas.
Implementación: un objeto Java Sort con un método que toma una lista y la devuelve ordenada.

Sí, más o menos.

Los algoritmos se definen libremente como instrucciones detalladas que ayudan a resolver un problema o lograr un objetivo. ¿Los métodos son algoritmos? Bueno, ¿los llamarías “instrucciones detalladas para resolver un problema”? Algunos de ellos, ciertamente. Pero métodos como estos:

clase pública MyCoolVector () {

… cosas …

public int getLength () {longitud de retorno; }

}

¿Incluso hace algo? Sería difícil decir que resuelve un problema. Es solo un captador.

Preguntar si se trata de un algoritmo es como preguntar si el negro es un color. Lo es, en algunos aspectos. Pero tampoco lo es. Depende de cómo se defina el “color”. (O preguntando si Plutón es un planeta. Y así sucesivamente).

Lo mismo en este caso. Dependiendo de cómo defina “algoritmo”, podría aplicarse a todos los métodos de Java, o solo a los más “algoritmos”. Este sería un método que definitivamente es un algoritmo:

clase pública MathStuff {

… cosas …

public int gcd (int a, int b) {
volver b == 0? a: mcd (b, a% b);
}

}

Sí. Directamente del libro de texto.

Bueno, si piensas técnicamente, no hay forma de que los métodos se puedan decir como algoritmos.

Pero hipotéticamente puede pensar que algunos métodos (no todos) son algoritmos.

Los algoritmos se definen como el proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas. Puede declarar métodos que pueden calcular algo o resolver un problema en un número limitado de pasos. De esta manera puedes encontrar un enlace entre los dos.

No. Un “método” en un lenguaje de programación orientado a objetos (OOP) es simplemente una función o un bloque de código autónomo. (Específicamente, una función que es miembro de alguna clase, que es solo una agrupación de funciones lógicamente similares).

Un método (función) podría simplemente imprimir las palabras “hola mundo”.

… ¡O podría ser el núcleo de un algoritmo innovador súper complejo!