Autor Beitrag
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 25.03.09 12:02 
Hallo,

heute während einer Vorlesung hab ich mich gefragt welches Verfahren besser ist, Rekursion oder Iteration? Draufgekommen bin ich als mein Professor gesagt hat das die binäre Suche auch Rekursion darstellbar wäre. Jedoch frag ich mich warum ich für abzählbare Mengen eine Rekursion verwenden soll? Es ist ja schließlich so, dass bei einer Rekursion immer wieder was auf den Stack geworfen wird, bei einer Iteration jedoch nicht. Stimmt meine Annahme das bei abzählbaren Mengen eine Iteration von Vorteil ist?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 25.03.09 12:21 
Nur, wenn du dadurch nicht zu viel Overhead produzierst. Jede Rekursion lässt sich auch als Iteration umsetzen, aber sinnvoll ist es nur, wenn dies auch sinnvoll möglich ist.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 25.03.09 13:52 
user profile iconelundril hat folgendes geschrieben Zum zitierten Posting springen:
Es ist ja schließlich so, dass bei einer Rekursion immer wieder was auf den Stack geworfen wird, bei einer Iteration jedoch nicht.
Nicht unbedingt. Manche Sprachen (natürlich gerade die funktionalen) können Endrekursion mit Tail Calls umsetzen, wodurch der Stackverbrauch wie bei der Iteration konstant bleibt. Oder sie setzen intern einfache rekursive Funktionen gleich als Schleifen um.

Wenn die Sprache so etwas bietet, gibt es gerade beim Beispiel der Binären Suche keinen Grund, auf die mathematisch-prägnante Formulierung als Rekursion zu verzichten. Und funktionale Sprachen machen mit Features wie Type Inference und Pattern Matching rekursive Ansätze noch attraktiver. In anderen Sprachen ist es mal wieder das bekannte Abwägen zwischen Eleganz und Performance - und da bitte immer daran denken, was Donald Knuth von Premature Optimization hält ;) .

_________________
>λ=