2010-08-02 22 views

Antwort

25

No.

Eine Funktion ist ein Codeblock, der in einem Computerprogramm.

Ein Algorithmus ist ein abstraktes Konzept, das beschreibt, wie ein Problem gelöst wird.

+1

leider gibt es keine formale und genaue Definition des Algorithmus. Nach der Thuring-These von Church-Turing gibt es eine allgemein akzeptierte Definition, die informell ist. Selbst CLRS beginnen mit "Informell ist ein Algorithmus ist ..." zu sagen. Sogar diese Antwort gibt "abstraktes Konzept" an, das ziemlich zweideutig ist. – DarthVader

+2

Ich würde argumentieren, dass eine Funktion ein mathematisches Konzept ist und nicht unbedingt mit einem Computerprogramm zusammenhängt, obwohl wir auch etwas verwenden, das Funktionen in der Computerprogrammierung genannt wird. Soweit ich weiß, wurde die mathematische Funktion - als Konzept - lange vor der Computerprogrammierung mit Funktionen eingeführt. – runeks

+4

@runeks, unter Berücksichtigung der Tatsache, dass dies eine Website für die Programmierung von Fragen ist, würde ich diese Tatsache ziemlich irrelevant betrachten. – riwalk

5

Ein Algorithmus ist eine Reihe von Anweisungen.

In der Computerprogrammierung ist eine Funktion eine Implementierung eines Algorithmus.

+0

ein _set_ ist hier ein mehrdeutiges Wort, obwohl es wahrscheinlich geklärt werden kann. –

3

Ein Algorithmus beschreibt die allgemeine Idee, während eine Funktion eine tatsächliche Arbeitsimplementierung dieser Idee ist.

2

Es könnte fast eine philosophische Frage sein, aber ich sage, dass ein Algorithmus die Antwort (oder wie) auf ein Problem ist, wo eine Funktion nicht ein Problem in sich selbst beantwortet.

Was Sie normalerweise tun möchten, ist Ihr Algorithmus in mehrere Funktionen aufgeteilt, die jeweils ihr eigenes Ziel hat, das am Ende das Problem bei der Hand erreichen wird, wenn sie zusammen verwendet werden.

Beispiel: Sie möchten eine Liste von Nummern sortieren. Das verwendete Algoright wäre beispielsweise der Merge-Sort-Algorithmus. Dieser spezielle Algorithmus besteht tatsächlich aus mehr als einer Funktion, eine, die Ihr Array aufteilt, eine andere, um nach Gleichheit zu suchen, eine andere, um alles wieder zusammenzuführen, und so weiter.

13

In der Mathematik ist eine Funktion "eine mathematische Beziehung, so dass jedes Element einer gegebenen Menge (der Bereich der Funktion) mit einem Element einer anderen Menge (dem Bereich der Funktion) verknüpft ist" (source - google. com, definieren: Funktion).

In der Informatik, eine Funktion ist ein Stück Code, der optional Parameter nimmt, gibt optional ein Ergebnis, und gegebenenfalls eine Nebenwirkung (abhängig von der Sprache - einige Sprachen verbieten Nebenwirkungen). Es muss eine bestimmte Maschinenimplementierung haben, um ausgeführt zu werden.

Der Begriff der Informatik stammt aus dem mathematischen Fachausdruck und ist die maschinelle Umsetzung des mathematischen Konzepts.

Ein Algorithmus ist "eine genaue Regel (oder ein Satz von Regeln), die angibt, wie ein Problem zu lösen ist" (source - google.com, define: algorithm). Ein Algorithmus kann außerhalb der Informatik definiert werden und hat keine definitive Maschinenimplementierung. Sie können es "implementieren", indem Sie es von Hand schreiben :)

Der Hauptunterschied hier ist, in der Informatik, ein Algorithmus ist abstrakt, und hat keine endgültige Maschinenimplementierung. Eine Funktion ist konkret und hat eine Maschinenimplementierung.

+0

Das stimmt nicht unbedingt. "Funktion" kann eine Codeeinheit bedeuten, die in einer bestimmten Sprache implementiert ist. Es kann auch eine abstrakte, funktionale Definition von Berechnung bedeuten, basierend auf dem Modell des Lambda-Kalküls. – Peeja

+0

das ist die bessere Antwort. –

-1

Ein Algorithmus bezieht sich normalerweise auf die Methode oder den Prozess, der verwendet wird, um nach der mathematischen Verarbeitung mit dem Ergebnis zu enden. Eine Funktion ist eine Subroutine, die verwendet wird, um das wiederholte Schreiben desselben Codes zu vermeiden. Sie unterscheiden sich in ihren Anwendungen. Zum Beispiel kann es einen Algorithmus geben, der zum Verschlüsseln von Daten verwendet wird, und eine Funktion zum Posten von Code auf einer Webseite.Hier

einige weitere Referenz:

http://en.wikipedia.org/wiki/Algorithm

http://en.wikipedia.org/wiki/Function_(computer_science)

4

Ein Algorithmus ist eine Reihe von Schritten (a-Verfahren) für eine Berechnung durchführt, während die Funktion, die mathematische Beziehung zwischen den Parametern ist, und Ergebnisse.

Eine Funktion in der Programmierung unterscheidet sich von der typischen mathematischen Bedeutung der Funktion, da es sich um eine Reihe von Anweisungen handelt, die einen Algorithmus zur Berechnung einer Funktion implementieren.

1

Ein Algorithmus ist die Implementierung einer Funktion.

In einigen Fällen ist der Algorithmus trivial:

Funktion: Summe von zwei Zahlen. Algorithmus: int sum(int x, int y){ return x+y; }

In anderen Fällen ist es nicht:

Funktion: Best Schachzug. Algorithmus: Move bestChessMove(State gameState){ //I don't know the algorithm. }

+1

Der Algorithmus kann nur Pseudocode sein. –

2

eine mathematische Funktion ist die Schnittstelle, oder die Spezifikation der Eingänge und Ausgänge eines Algorithmus.

Ein Algorithmus ist das genaue Rezept, das die Schritte definiert, die eine Funktion implementieren können.

Verwirrend, diffundieren Computer-Sprache-Designer diese Unterscheidung mit dem Konzept function, func, method, etc., um über beide Konzepte zu sprechen.

Also die Unterscheidung ist eine der Spezifikation gegenüber der Definition.

Es gibt auch eine semantische Unterscheidung: Ein Algorithmus versucht, ein Problem zu lösen. Es ist zielorientiert. Eine Funktion einfach ist - es gibt keine wesentliche teleologische Komponente.

-1

Eine Funktion ist eine symbolische Darstellung, wobei eine Methode die mechanischen Schritte ist, die benötigt werden, um die Antwort zu erhalten.

Angenommen, diese Funktion:

f(x) = x^ 2 

Nun, wenn ich Ihnen sagen, f(5000) Sie Dinge zu tun haben, zu zählen, dass diese Funktion nicht sagen. Wie zum Beispiel wie man multipliziert. Also, das sind wirklich nur Symbole.

Aber wenn ich ein Python-Methode zum Beispiel haben:

x = math.pow(500, 2) # or whatever it is 

Dann in diesem Fall die Schritte sich für jede Operation vollständig definiert sind (in den Bibliotheken;)).

0

Algorithmus ist ein (möglicherweise informell aber notwendigerweise genau) Folge von Anweisungen. Funktion ist eine formale Regel, die einige Eingaben mit einer bestimmten Ausgabe verknüpft.Funktionen implementieren und formalisieren Algorithmen. Z.B. wir können als go(a)=b oder go(x,a)=b (w/x derjenige, der geht) „von a nach b gehen“ formalisieren, usw. Nach Wikipedia,

Ein Algorithmus eine wirksame Methode ist, die innerhalb eines endlichen ausgedrückt werden kann Menge an Raum und Zeit und in einer wohldefinierten formalen Sprache zum Berechnen einer Funktion.

So kann man sagen, dass „gehen (ing) von A nach B“ ist eine wirksame Methode zur Berechnung go(a)=b (wenn Sie möchten)

Verwandte Themen