Zum Inhalt springen

Diskussion:Rekursion

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Mai 2006 um 20:36 Uhr durch Akribix (Diskussion | Beiträge) (Bestehender Artikel "Rekursive Programmierung": Zusammenführung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Um die Rekursion zu verstehen, muß man zuesrt die Rekursion verstehen...--nerd 14:05, 14. Apr 2003 (CEST)

Schade, Rekursion ist schon erklärt, ich wollte schreiben "siehe Rekursion!" ;) RobertMichel 23:45, 13. Okt 2003 (CEST)
Nix schade, der Artikel ist noch weit von perfekt, also ran! Was ist z.B. µ-Rekursion?

Passt "Rekursion : siehe Rekursion :-)" wirklich in eine WP-Seite? --Stfn 16:05, 11. Feb 2004 (CET)

IMHO Ja, aber ich war nicht mutig, bzw ich wollte auf Rückmeldung warten, ob auch andere so denken. Gruss Rob 16:24, 11. Feb 2004 (CET)
Hm, gibt's denn leicht noch eine andere Erklärung? ;-) --Xorph 11:26, 19. Mär 2004 (CET)

Manche haben einfach keinen SInn für Humor SnowCrash 17:21, 24. Apr 2004 (CEST)

warum wird der selbstlink auf Rekursion immer wieder entfernt? Ich finde er gehoert in jede vernuenftige Definition von Rekursion. Besser, kuerzer und einfacher Rekursion zu erklaeren geht einfach nicht ;) --Gorgo 06:56, 31. May 2004 (CEST)

Letzte Woche erzählte mit APPER, dass im Artikel "Rekursion" steht "Siehe Rekursion" und ich fand es damals (nach einigen Bieren) und finde es heute (nüchtern) immer noch witzig. Aber andere anscheinend nicht? Bin nicht mutig und will deshalb keinen Edit-War anzetteln, aber was spricht denn wirklich dagegen? --Vlado 21:19, 25. Apr 2005 (CEST)

Ja finde ich auch schade, dass das nicht mehr vorhanden ist. Der große Satz am Anfang, den es zwischendurch gab ist sicher übertrieben, aber bei "Siehe auch" nochmal auf Rekursion zu zeigen.. das kann zeigen, dass das alles nicht todernst ist. MfG --APPER\☺☹ 22:48, 25. Apr 2005 (CEST)

was ist...

...mit "nachklappern" und "endrekursiv" ?

Rekurrenz

Ist Rekurrenz ein anderes Wort für Rekursion oder ist das ein Spezialfall der Rekursion? --Matthäus Wander 17:15, 27. Nov 2004 (CET)

Ist ein Synonym, habe ich mir sagen lassen. --Matthäus Wander 11:43, 7. Dez 2004 (CET)

Vielleicht mal den netten Menschen, der das hier geschrieben hat, fragen, ob man anschreiben darf:

http://www.kfa-juelich.de/zam/docs/bhb/bhb_html/d0063/node12.html

Insbesondere die Definition (nicht nur das in der gelben Box, sondern vor allem die Absätze dadrunter) halte ich für sehr gelungen.

Mal generell

Mir ist das nicht völlig klar: Nützt eine Rekursion überhaupt etwas? Ich meine, hat es nicht grundsätzlich mehr Sinn, eine Schleife zu benutzen? Bei einer Rekursion sieht man ja nur die Idee, des Programms nicht wirklich das, was der Rechner sieht, denn das erschafft er sich ja dann im Folgenden selber. Sind Schleifen nicht wesentlich übersichtlicher und funktionaler, auf Rekursionen zu verzichten?

hm, fehlende erfahrung? es gibt gewisse dinge die sind mit rekursiven funktionen genial einfach und weitaus verständlicher zu machen. außerdem scheinen manche eine geistige selbstbefriedigung zu spüren etwas über eine schöne rekursive funktion gelöst zu haben. bsp: ordnerstruktur auf einem datenträger.
Für 'primitive Rekusion lässt sich (per Definition) immer eine äquivalente Lösung mit einer Schleife finden - was eleganter ist, ist wohl geschmackssache. Für mathematisch orientierte Menschen, und in funktionalen Programmiersprachen, ist es die Rekursion, für operational denkende Menschen die Schleife. Nicht-primitiven Rekursionen (wie z.B. eben das auflisten einer Dateistruktur) lassen sich nicht mit einer Schleife lösen, bzw. nur, indem man die Rekursion "simuliert", d.h. "von Hand" einen Stack bzw. Queue verwaltet. Rektusionen sind im Allgemeinen mächtiger als Schleifen. -- D. Dÿsentrieb 12:15, 3. Dez 2005 (CET)

Ersten 2 Absätze raus

Ich habe die ersten 2 Absätze rausgenommen und in etwas geänderter Form nach Selbstbezüglichkeit übertragen. Selbstbezüglichkeit und Rekursion sind zwei verschiedene Dinge, keines ist ein Spezialfall des anderen (das wurde vorher falsch erklärt). Rekursion ist die Anwendung einer Funktion auf sich selbst oder die Definition einer Funktion mit sich selbst, wie es im Artikel korrekt steht. Selbstbezüglichkeit ist, wenn ein Satz auf sich selbst verweist. Das mag ein ähnliches Phänomen sein, ist aber nicht dasselbe (ein Satz ist nicht dasselbe wie eine Funktion). Die ersten 2 Abschnitte haben nicht zu Rekursion gepasst, sondern zu Selbstbezüglichkeit. Ich habe sie daher, wie gesagt, in letzteren Artikel verschoben.

-- Hajo Keffer 20:46, 16. Okt 2005 (CEST)

Blödsinn im Text!

Am Ende des Absatzes "Anwendung" steht: "sdjghvfoasdjfuohasdfjois". Da ich bei Wikipedia noch nie mitgearbeitet habe weiß ich nicht wie ich mich verhalten soll und habe auch nicht die Zeit das herauszufinden.

Ich hoffe das ist der richtige Ort, dies zu melden. Warum ist nicht einfach auf jeder Seite ein Link "Fehler melden"? :)

-Moritz (maf-soft ät gmx punkt net)

...inzwischen habe ich mich angemeldet und die Wiederherstellung selbst gemacht (es ist nicht nur die o.a. unsinnige Buchstabenfolge angehängt worden, sondern große Teile des Textes wurden entfernt).
Ich habe aber nicht nachgesehen ob von der gleichen IP-Adresse noch weitere Artikel zerstört wurden! Das sollte also noch jemand machen...
Da ich annahm, daß ich wenigstens eigene Änderungen komplett ungeschehen machen kann (also so daß sie auch nicht in der Versionsliste erscheinen), habe ich dabei unsinnigerweise 3 Versionen erzeugt. Wenn also ein Admin so freundlich wäre, die Versionen aufzuräumen, wärs sehr nett. Ich bin auch einverstanden wenn meine Versionen komplett entfernt werden.

!! Gehört vermutlich ganz woanders hin:

Der Grund für mein Versionsdurcheinander hier kurz erklärt, denn alte Hasen tun sich meist schwer, sich in Anfänger wie mich hineinzusetzen und die Funktionen entsprechend selbsterklärend zu gestalten.
Vielleicht führt das ja zu Verbesserungen? Bedarf ist meiner Meinung nach - ich unterlag einer Menge Irrtümer, die zu Vermeiden gewesen wären:

  • Zunächst suchte ich ausgiebig nach einer Wiederherstellungsfunktion bis ich irgendwo las, daß das nur Admins können. Macht das Sinn?
  • Dann öffnete ich also die alte Version wo es noch korrekt war und speicherte sie. Dabei nahm ich fälschlicherweise an, daß ich anschließend nach einem Änderungskommentar gefragt würde. Das Eingabefeld "Zusammenfassung und Quellen" schien mir nicht dafür zu sein. Es sollte deutlicher gemacht werden, daß eine Zusammenfassung der Änderungen gemeint ist. Außerdem ist das Feld viel zu kurz (Firefox?).
  • Als das Fragen nach einem Kommentar nicht passierte und meine Version ohne aufgeführt wurde, suchte ich nach einer Möglichkeit den Änderungskommentar nachträglich zu ändern. Ging nicht.
  • Also wieder auf Bearbeiten gegangen und diesmal das o.g. Eingabefeld ausprobiert. In der Versionsliste war anschließend keine Änderung zu sehen. Daraufhin dachte ich mal wieder viel zu weit:
  1. Oh, da habe ich wohl doch Recht gehabt daß das Feld nicht für den Änderungskommentar gedacht ist. Mist! Jetzt steht irgendwo in irgendeiner Zusammenfassung mein Änderungskommentar.
  2. Oh, super, wenn man einen Text mehrmals nacheinander ändert führte das nicht zu mehren Versionen - also kann ich beliebig rumbasteln.
Beides war natürlich falsch. Ich suchte verzweifelt nach der Zusammenfassung des Textes wo ich glaubte daß mein Text nun fälschlicherweise stehen würde. Fand aber nix.
Einfache Erklärung: Die neue Version wurde nicht gespeichert und mein Kommentar ignoriert, weil ich nichts am Text geändert hatte. Seufz. -> es ist doof daß man den Änderungskommentar nicht nachträglich ändern kann.
  • Also irgendwo ein Leerzeichen im Text eingefügt und diesmal wurde mein Kommentar korrekt angezeigt. Leider als neue Version und ich fand keine Möglichkeit, meine vorhergehende Version zu löschen.
  • Dann erinnerte ich mich an das Leerzeichen und entfernte es wieder. Dabei den Kommentar vergessen :(

Ich wette das ist ein nicht untypischer Leidensweg eines Wikipedia-Anfängers. Vor allem das vergessen des Kommentares passiert sicherlich häufig. Was macht man dann?

P.S.: Ich bin ebenfalls dafür, Rekursion als ersten Punkt unter "Siehe auch..." anzubringen.

--Maf-soft 11:57, 9. Jan 2006 (CET)

Antwort auf Deiner Diskussionsseite --Rat 16:50, 9. Jan 2006 (CET)

Zwei Fragen

1) Zitat: Umgekehrt kann jede Iteration durch eine primitive Rekursion ersetzt werden, ohne dass sich dabei die Komplexität des Algorithmus ändert. Wirklich, ist das so? Können dazu Beispiele und die Vorgehensweise gezeigt werden?

2) Kann auf besondere Begriffe im Zusammenhang mit Rekursion eingegangen werden, z.B: endständige Rekursion, direkte Rekursion, lineare Rekursion?

Danke, --Abdull 16:35, 15. Mär 2006 (CET)


Zum 1. Zitat: Nein, ich kann Dir sagen, dass dieser Satz mit Garantie nicht stimmt: Eine primitivrekursive Funktion ist nicht so mächtig wie die Iteration Primitivrekursive Funktion Ackermannfunktion. Per Definition muss eine primitivrekursive Funktion von Anfang an die Rekursions-Tiefe kennen, Es ist also von Anrfang an klar, wie oft die primitivrekursive Funktion maximal durchlaufen wird. (Erst die μ-rekursive Funktion ist so mächtig wie eine Iteration). Falls dieser Artikel nicht so formal gehalten werden soll, dann reicht es, das Wort 'primitiv' aus dem Artikel zu nehmen, damit der Satz stimmt.

Definition/ Vorteil-Nachteil von Rekursion

Meines Erachtens ist die einleitende Definition des Begriffes "Rekursion" nicht ganz korrekt. Die Rekursion ist KEIN "allgemeines Prinzip zur Lösung von Problemen", sondern vielmehr eine Beschreibung der Art eines Problems. Diese Beschreibung sagt aus, dass es sich um ein Problem handelt, das durch einen Selbstaufruf definiert wurde. (das wird zwar in den folgenden Sätzen erwähnt, doch dies ist die eigentliche Definition von Rekursion und sollte deshalb vielleicht als aller erstes stehen)

Bezüglich der Aussage über "Prinzip zur Lösung" würde ich folgendes sagen:

  • Ein Problem läßt sich in bestimmten Fällen einfacher rekursiv (durch Rekursion) darstellen/beschreiben.
  • Zum Lösen eines rekuriven Problems gibt es verschiedene Methoden: "geschickt raten", Induktion, Substitution, Rekursionsbaum-Methode, Generierenden-Funktion (z.B. Fibonaccizahlen)
  • Um den Aufwand eines rekursiven Problems festzustellen gibt es: Mastermethode

Vorteile/Nachteil von Rekursion:

  • Lösen eines Probleme ist oft schneller als die iterative Variante, jedoch ist der Speicheraufwand wesentlich höher
  • Die Laufzeit/Rechenaufwand wird gleich mit der Angabe des rekursiven Problems beschrieben
  • Gut lesbar durch die Darstellung selbstähnlicher Probleme, durch die das eigentlich Problem aufgebaut ist.
  • eventuell schwerer verständlich für andere Autoren

--217.233.194.69 16:44, 27. Mär 2006 (CEST)

Bestehender Artikel "Rekursive Programmierung": Zusammenführung

Ich habe eben entdeckt, das es auch noch einen Artikel "Rekursive Programmierung" gibt, dessen Thema ist eigentlich genau das Gleiche. Sollte man vielleicht zusammenführen? Ich weiß nur (noch) nicht, wie man das macht. Sobald ich dazu komme, werde ich mich drum kümmern, oder hat jemand Einwände? GGShinobi 08:27, 9. Mai 2006 (CEST)Beantworten

Ich habe gerade überlegt, wohin der Begriff Rekursion gehört und wo er zuerst verwendet wurde? In der Programmierung? Kann mir jemand helfen, das würde vielleicht auch beim llfälligen zusammenlegen helfen, eine plausible Ordnung zu findenRolf Todesco 14:49, 11. Mai 2006 (CEST)Beantworten
ich würde die artikel nicht zusammenfassen. rekursion ist ja ein allgemeines verfahren, um ein problem zu lösen. dabei wird ja ein beliebiger algo verwendet, um eine große aufgabe in kleinere teile runterzubrechen. die rek. programmierung ist da ja viel spezieller und bringt zusätzliche probleme wie stack, rücksprung und speicherwaltung mit sich. -- guenson Diskussion 17:52, 11. Mai 2006 (CEST)Beantworten
Ich würde die Artikel auch nicht zusammenfassen, denn: Rekursion und rekursive Programmierung sind zwei verschiedene Dinge. Einmal redet man von einem Selbstaufruf (Rekursion), also eine Darstellungsweise eines Problems. Zum Anderen (rekursive Programmierung) geht es um die Anwendung in Programmiersprachen. Rekursion ist nur ein Konzept, welches von der Informatik verwendet wird. Sie kann aber auch z.B. in der Mathematik auftreten. Rekursion ist etwas, was auch sehr gut ohne Programmiersprachen existieren kann. ABER: Zugegeben, diese zweite Seite habe ich auch nicht gekannt. vielleicht sollte man diese Seiten untereinander besser verlinken und überarbeiten. und inhaltlich trennen. --Akribix 21:32, 11. Mai 2006 (CEST)Beantworten
Ja, das Argument, das Rekursion allgemeiner ist als rekursive Programmierung, ist sehr gut, da bin ich dann auch dafür die Artikel getrennt zu lassen. Aber dann sollte man den Artikel "Rekursion" auch allgemein halten und alle Programmierinhalte in die "rekursive Programmierung" verschieben. Also bin ich ganz deiner Meinung Akribix! :-) GGShinobi 13:40, 13. Mai 2006 (CEST)Beantworten
[...]alle Programmierinhalte in die "rekursive Programmierung" verschieben => Die jetzt gegeben Beispiele sind keine Programmbeispiele, sondern erklärungsunterstützende Pseudo-Programme/Algorithmen. Die sollten vielleicht bleiben, sonst hat man ja gar nichts, an was man sich bei dem ganzen Text festhalten kann. Ein "Praxis-Beispiel" ist also auch gut an dieser Stelle.--Akribix 20:36, 14. Mai 2006 (CEST)Beantworten