Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Arbeitsspeicher einer Rekursion als temporäre Datei (https://www.delphipraxis.net/78751-arbeitsspeicher-einer-rekursion-als-temporaere-datei.html)

meinEigen 10. Okt 2006 16:52


Arbeitsspeicher einer Rekursion als temporäre Datei
 
Vielleicht träume ich von heißen Eislutschern aber gibt es eine Möglichkeit bei Rekursionen, die den Arbeitsspeicher sprengen, die abgearbeiteten Teile der Procedure in eine temporäre Datei zwischenzuspeichern?

Und bitte sagt mir nicht man kann jede Rekursionsalgorithmus auch iterativ lösen.

SubData 10. Okt 2006 16:54

Re: Arbeitsspeicher einer Rekursion als temporäre Datei
 
Theoretisch ist das kein Problem, wenn du ein klein wenig überlegst, dann müsstest du auch selbst drauf kommen, wie sowas funktionieren kann.
Die Frage ist allerdings, wie extrem groß muss diese Rekursion sein, dass sie den Arbeitsspeicher sprengt? Oder anders gefragt: Lagert Windows dann nicht sowieso aus?

Und nochwas: Wie groß sind die einzelnen Schritte in der Rekursion, dass man die überhaupt speichern könnte, ohne mehr Speicher für das Speichern zu verbrauchen, als den Kram direkt im Arbeitsspeicher zu behalten?

Fragen über Fragen... :wink:

Der_Unwissende 10. Okt 2006 16:57

Re: Arbeitsspeicher einer Rekursion als temporäre Datei
 
Zitat:

Zitat von meinEigen
Und bitte sagt mir nicht man kann jede Rekursionsalgorithmus auch iterativ lösen.

Hi und Willkommen in der DP :dp:

Warum eigentlich nicht iterativ?
Aber was Rekursionen angeht, die den Arbeitsspeicher sprengen, könntest du da nicht etwas genauer werden, mit welcher Art von Zwischenergebnis du weiter arbeiten möchtest? Was genau möchtest du denn machen und wo genau taucht dann das Problem auf?
An sich ist bei Rekursion häufig das Problem eher der Stack als der Arbeitsspeicher. Jeder Aufruf einer Funktion wird hier abgelegt und erst nach der Abarbeitung wieder entfernt. Bei Rekursionen heißt dies nunmal, dass du erst den rekursiven Aufruf abarbeiten musst. Der Arbeitsspeicher würde sich iterativ genauso füllen. Ansonsten ist ein hier immer nützliches konzept der Akkumulator.

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 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