Quelle est la différence entre un Algorithme et une Méthode
Comment faire la différence entre un algorithme et une méthode? Pourquoi ne pas appeler la méthode de Newton ou les Algorithmes de la méthode de Ford-Faulkerson? Quelles sont les propriétés d'un bon algorithme et de ce qu'est une méthode comme un algorithme?
11 réponses
les Algorithmes se terminent par un nombre limité d'étapes.
une procédure qui a toutes les caractéristiques d'un algorithme sauf qu'il est possible qu'elle manque de finitude peut être appelée une méthode de calcul. Euclid a présenté à l'origine non seulement un algorithme pour le plus grand diviseur commun de nombres, mais aussi une construction géométrique très similaire pour la "plus grande mesure commune" des longueurs de deux segments de ligne; il s'agit d'une méthode de calcul qui ne se termine pas si les longueurs sont incommensurables. -- D. Knuth, TAOCP vol 1, Basic Concepts: Algorithms
la méthode de Newton Raphson n'est pas garantie de converger, pas plus qu'elle ne détecte une défaillance de convergence. Si vous envelopper la méthode avec la détection de convergence et la terminaison à un Epsilon fini ou après un nombre fini d'étapes, vous obtenez un algorithme.
il n'y a pas de différence technique entre le terme "méthode" comme dans "Méthode de Newton" et "algorithme."
EDIT: à la réflexion, peut-être que Pete a raison que les algorithmes se terminent et les méthodes ne peuvent pas (Qui Suis-je pour argumenter avec Knuth?) Cependant, je ne pense pas que ce soit une distinction que la plupart des gens feront seulement basée sur votre utilisation d'un mot ou l'autre.
a mon avis, une méthode est un concept plus général qu'un algorithme et peut être plus ou moins n'importe quoi, par exemple écrire des données à un fichier. À peu près tout ce qui devrait se produire en raison d'un événement ou d'une expression logique. De plus, la signification des mots "méthode" et "algorithme" peut varier selon le contexte dans lequel ils sont utilisés. Ils pourraient être utilisés pour décrire la même chose.
en général, les algorithmes sont les étapes par lesquelles une tâche est accomplie. Selon Wikipédia,
un algorithme est une séquence finie d'instructions, une procédure explicite, étape par étape pour résoudre un problème, souvent utilisé pour le calcul et le traitement des données. Il est formellement un type de méthode efficace dans laquelle une liste d'instructions bien définies pour accomplir une tâche, lorsque donné un état initial, passer par un bien défini série d'états successifs, se terminant éventuellement par un état final. La transition d'un état à l'autre n'est pas nécessairement déterministe; certains algorithmes, connu comme les algorithmes probabilistes, incorporer l'aléatoire. <
en informatique, une méthode ou une fonction fait partie de la philosophie orientée objet de la programmation où les programmes sont constitués de classes qui contiennent des méthodes/fonctions pour effectuer des tâches spécifiques. Une fois de plus, en citant Wikipédia
dans la programmation orientée objet, une méthode est un sous-programme qui est exclusivement associé à une classe (appelée méthodes de classe ou méthodes statiques) ou à un objet (appelé méthodes d'instance). Comme une procédure dans les langages de programmation, une méthode consiste généralement en une séquence d'instructions à exécuter une action, un ensemble de paramètres d'entrée pour personnaliser ces actions, et éventuellement une valeur de sortie (appelée la valeur de retour) de certaines sorte. Les méthodes peuvent fournir un mécanisme pour l'accès (lecture et écriture) les données encapsulées stockées dans un objet ou d'une classe. <
en bref, l'algorithme sont les étapes par lesquelles nous faisons quelque chose comme allumer une ampoule:
1) Marche jusqu'à l'aiguillage 2) Interrupteur À Bascule 3) Flux D'Électrons 4) lumière générée
les méthodes sont là où nous codons réellement des actions à l'intérieur d'une classe.
je pense que c'est juste parce que l'origine de domaine de l'algorithme. Si l'inventeur possède des connaissances en informatique, il peut préférer l'algorithme. Dans le domaine des mathématiques et d'autres sciences, ils peuvent préférer la méthode.
dans le contexte vous déclarez (méthode de Newton,etc.) il n'y a pas de différence essentielle entre un algorithme et une méthode. Les deux sont des ensembles d'instructions étape par étape pour résoudre un problème. Dans L'article de Wikipedia sur la méthode de Newton, il est dit que "l'algorithme est le premier de la classe des méthodes de ménage, remplacé par la méthode de Halley". La frontière est floue au mieux.
en informatique, un algorithme est encore une manière étape par étape de résoudre un problème - un mise en œuvre-ensemble d'étapes agnostiques. Une méthode fait généralement référence à un morceau de code associé à une classe ou à un objet qui fait une tâche - elle peut implémenter plusieurs algorithmes potentiellement.
Eh bien, pour les amateurs d'étymologie
http://www.etymonline.com/index.php?search=algorithm+method&searchmode=or
algorithme est juste comme une formule pour résoudre n'importe quel problème particulier étape par étape,sans aucune ambiguïté à n'importe quelle étape, et doit avoir un certain point de fin. la méthodologie est une forme plus générale de toute solution. il a fourni un moyen de résoudre n'importe quel problème mais dans l'algorithme le moyen est plus précisément formulé vers la solution.
Méthode est analogue à une stratégie, un algorithme est analogue à la tactique. Un exemple: en temps de guerre, vous développez une stratégie (méthode) pour prendre le contrôle d'un pays: Prenez d'abord les ports, avancez vers l'ouest sur terre, puis encerclez le capital, etc. Cette stratégie est divisée en plusieurs étapes tactiques (algorithmes): d'abord, une qui dit aux soldats étape par étape exactement comment ils vont prendre les ports; ensuite, une qui dit aux soldats comment ils doivent avancer vers l'ouest; puis, une avec les étapes exactes pour les soldats entourer la ville, etc.
Une procédure peut durer éternellement. Où en tant qu'algorithme, finira par se terminer et aura chaque étape définie avec précision.
en ce qui concerne la méthode Ford-Faulkerson, CLRS l'appelle méthode plutôt qu'algorithme parce qu'elle "englobe plusieurs implémentations avec des durées de fonctionnement différentes"[pp 651. 2ème édition]