AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

kleine frage zu rekursion

Ein Thema von Evian · begonnen am 22. Dez 2006 · letzter Beitrag vom 24. Dez 2006
Antwort Antwort
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

kleine frage zu rekursion

  Alt 22. Dez 2006, 15:52
Ich habe mich heute mit einem Kollegen gestritten und ganz langsam kommt so ein sehr ungutes Gefühl, dass ich mich vielleicht geirrt haben könnte. Meine Frage wäre: Gibt es ein Problem, dass sich nur rekursiv lösen lässt?

gruß

Phill
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: kleine frage zu rekursion

  Alt 22. Dez 2006, 15:59
Da letztendlich alles auf Assembler hinausläuft nein, du kannst alle Probleme die sich rekursiv lösen lassen auch anders lösen, allerdings oft aufwendiger und zum Teil sogar um einiges langsamer.

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: kleine frage zu rekursion

  Alt 22. Dez 2006, 16:00
Nein. Iterativ und Rekursiv ist untereinander austaschbar.

Selbst die Ackermannfunktion ist iterativ lösbar. Ich hab das hier mal gepostet, irgendwo.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: kleine frage zu rekursion

  Alt 22. Dez 2006, 16:12
Rekursion und Iteration ist gegeneinander austauschbar....in jedem Falle.

Ich würde aber versuchen jedes Problem eher iterativ als rekursiv zu lösen, da Rekursionen, in der Regel, mehr Speicherplatz allokieren.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Mr. Pink

Registriert seit: 30. Jan 2006
72 Beiträge
 
#5

Re: kleine frage zu rekursion

  Alt 23. Dez 2006, 22:52
aber dafür sehr viel eleganter uns schöner sind!

für kommerzielle zwecke ist das zwar egal, aber ich finds immer sehr schön rekursive algorithmen einsetzen zu können, grade weil sie so unglaublich stark sind (ist doch iwie toll, wie 4 zeilen (effektiver) code über mehrere stunden ein kombinatorisches problem lösen), ich bin jedesmal stolz wenn ichs geschafft habe rekursionen geschickt einzusetzen, bei mir kommts aber auch nciht auf effektivität an, sondern es geht mir mehr und des programmierens willen, außerdem isses gur für die info-note
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: kleine frage zu rekursion

  Alt 23. Dez 2006, 23:21
... und man kommt einfach schneller ans Ziel, z.B. bei Permutationen: Mit Rekursion: 4 Zeilen, 5 min, ohne Rekursion:1-2 Std?. Keine Rechenzeit, sondern Entwickungszeit.

Aber es gilt eben auch hier: Für jedes Problem das richtige Werkzeug: Pattern-Matching würde ich kaum rekursiv lösen, TSP schon.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: kleine frage zu rekursion

  Alt 23. Dez 2006, 23:22
Zählt eine Stack-Lösung auch als iterativ? Irgendwie simuliert man damit ja praktisch eine Rekursion.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Mr. Pink

Registriert seit: 30. Jan 2006
72 Beiträge
 
#8

Re: kleine frage zu rekursion

  Alt 23. Dez 2006, 23:57
Zitat von alzaimar:
... und man kommt einfach schneller ans Ziel, z.B. bei Permutationen: Mit Rekursion: 4 Zeilen, 5 min, ohne Rekursion:1-2 Std?. Keine Rechenzeit, sondern Entwickungszeit.

Aber es gilt eben auch hier: Für jedes Problem das richtige Werkzeug: Pattern-Matching würde ich kaum rekursiv lösen, TSP schon.
grade tsp find ich ist ein sehr schönes beispiel, wobei in der realttät man wohl eher mit schnittebenenverfahren arbeitet und entsprechenden heuristiken , aber elgent ist natürlich rekursives backtracking (von der progarmmierung her, sonst eher ineffektiv, aber ist ja acuh np-vollständig..)

@3_of_8: eher andersrum: rekursionen arbeiten mit nem stack, soweit ich weiß, 100% sincher bin ich mir nciht
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: kleine frage zu rekursion

  Alt 24. Dez 2006, 00:05
Wir reden aneinander vorbei.

Rekursionen schmeißen ihre Parameter/Rücksprungadressen auf den Prozessstack.

Rekursionen lassen sich ohne rekursive Funktionsaufrufe realisieren, indem man das ganze emuliert: Man nimmt sich einen Stack und schmeißt die relevanten Variablen drauf und hat damit zwar keine klassische Rekursion, aber irgendwie doch.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Mr. Pink

Registriert seit: 30. Jan 2006
72 Beiträge
 
#10

Re: kleine frage zu rekursion

  Alt 24. Dez 2006, 00:15
ist wohl ne definitionssache: eigtl. hat man eine rekursion, wenn eine _funktion_ sich _selber_ aufruft, in deinem fall braucht man aber wohl mehrere funktionen, eine die einliest, eine die ausliest, vllt noch anderes, kommt eben drauf an. bei einer klass. rekursion geht das ja alles in einem.
ich würd sagen, das ist iterativ und damit, wer hätte es gedacht, nicht rekursiv. vor allem isses nicht so genial
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz