Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus

Dieses Thema Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus im Forum "Allgemeine Java-Themen" wurde erstellt von John17.54, 1. Dez. 2016.

Thema: Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Hallo zusammen, ich möchte gerne wissen in wie weit der Speicherbedarf von der Rechenzeit abhängig ist und wie er...

  1. Hallo zusammen,

    ich möchte gerne wissen in wie weit der Speicherbedarf von der Rechenzeit abhängig ist und wie er variiert? Dazu gerne Beispiele mit Java.
     
  2. Vielleicht hilft dir das Java-Tutorial weiter. Hier klicken --> (Klick)
  3. Joose
    Joose Mitarbeiter
    Warum glaubst du dass hier eine Abhängigkeit besteht?
    Was für Beispiele erwartest du dir?
     
  4. Eventuell, dass ein Algorithmus, der schnell durchgeführt wird, mehr Speicher verbraucht, als ein Algorithmus, der den selben Endzustand erreicht mit einer längeren Rechenlaufzeit, jedoch weniger Speicher dabei verbraucht.
     
  5. Joose
    Joose Mitarbeiter
    Du musst bei der Laufzeit aufpassen und unterscheiden:

    Wenn es um reine Prozessorlaufzeit geht, dann hat der Speicher (wenn überhaupt) wenig Einfluss auf die Dauer. Hier kommt es dann darauf an wie effizient der Algorithmus entworfen/programmiert wurde.

    Wenn es um die Programmlaufzeit geht, dann hat mehr Speicher sicher seine Vorteile. Man kann dann eben alle möglichen Daten im Speicher behalten und muss diese nicht immer wieder in ein File (oder eine DB) speichern und wieder einlesen.
     
    John17.54 gefällt das.
  6. Dafür gibt es pauschal keine Antwort, das hängt ganz vom Algorithmus ab.
    Du kannst einen Algorithmus auch langsamer machen, wenn du viel Speicher verbrauchst, z.B. für jede Operation jeweils einen Klon der Operanden erstellst. Das braucht Zeit und vervielfacht den verwendeten Speicher.
     
    John17.54 gefällt das.
  7. Danke Joose und Neumi5694, dass mit dem Einlesen und den Klonen bringt mich in meinen Überlegungen weiter:)
     
  8. stg
    stg
    Der Kerngedanke bei der Fragestellung ist ein anderer (und einfacherer):
    Wir gehen davon aus, dass alle benötigten Eingabedaten im Speicher sind.
    Zwischenergebnisse deines Algorithmus, die später erneut benötigt werden, kannst du
    - entweder zwischenspeichern -> Du benötigst zur Laufzeit mehr Speicherplatz
    - oder neu berechnen -> Du benötigst mehr Rechenzeit.
     
    John17.54 gefällt das.
  9. Für einen aufwendigen Algorithmus cache so viel wie möglich, Speicher ist vergleichsweise billig. Für eine UI und Textausgaben ist das weniger tragisch, da kannst du gerne auch jedesmal bei Anzeige die Texte neu zusammenstellen.
     
  10. Schau dir jetzt hier den Kurs an und lernen Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)