Buchhalter-/Accoutingmethode (Laufzeitanalyse)

Mariexshhx

Bekanntes Mitglied
Hallo, kennt sich jemand mit der Accoutingmethode aus? Ich verstehe den Sinn dahinter nicht so ganz. Es sollen ja günstige Operationen (mit konstanten Aufwand) für teure Operationen sparen. Wenn z.B. eine günstige Operationen 1€ kostet und eine teure Operation 3n€ zahlt jede günstige Operation trotzdem 7€ ( 1€ an den Prozessor und 6€ aufs Sparkonto) vom Budget. Aber wo ist nun der Vorteil? Ich meine es wird doch kein Geld gespart. Ich muss doch so oder so das Geld aus dem Budget nehmen, ob ich das jetzt spare oder direkt dann aus dem Budget nehme wenn eine teure Operation gemacht wird ? Oder denke ich da falsch?

Danke im vorraus :)
 

KonradN

Super-Moderator
Mitarbeiter
Das hat erst einmal nichts mit Java zu tun und daher ist das Java Basics Forum nicht der richtige Ort.

Ansonsten ist das erst einmal relativ wirr. Es scheint dir um Buchhaltung zu gehen, aber du bringst da keinerlei der typischen Fachbegriffe. Zumindest für mich hört es sich so an, als ob es da um Rücklagen oder Rückstellungen gehen würde.

Und da kommen dann die Regeln der korrekten Billanzierung sowie Gesetze.

Es mag für Dich keinen Unterschied machen, wenn Du weisst: nächsten Monat kommt eine Rechnung über 1000€, die muss ich bezahlen, also achte ich darauf, dass ich das Geld auch weiterhin auf meinem Konto habe. Aber da ist schon für Dich privat ein Problem: Du hast halt nicht 1000€ sondern 100.000 Euro auf dem Konto und es geht nicht um eine Zahlung sondern um ganz viele. Also: Wie viel Geld von den 100.000 Euro sind wirklich freie Mittel, die Du beliebig auf den Kopf hauen kannst?

Buchführung ist das sehr genau und da muss man dann halt aufpassen. Daher gibt es Rücklagen (Ich habe Geld übrig - wer weiss was ich morgen für Ideen habe oder was sich da so entwickelt) und Rückstellungen (Ich weiss: Da kommt irgendwann eine Ausgabe. Ich muss einem Mitarbeiter, der Teile seines Urlaubs nicht genommen hat, diesen auszahlen. Also mache ich Rückstellungen für unverplanten Urlaub. Nur ein konkretes Beispiel, von dem ich Kenntnis habe in unserem Konzern).

So eine gute Buchführung ist wichtig, wann immer Dritte Interesse haben an den Finanzen. Und bei Betrieben ist das immer der Fall - da hat das Finanzamt großes Interesse und da gibt es dann auch entsprechende gesetzliche Vorgaben. Und die Rückstellungen sind dann auch steuerlich wichtig, weil die ggf. anders behandelt werden. Gewinne sind dann nicht zu versteuern, weil diese zurück gelegt wurden für eine betriebliche Ausgabe in der Zukunft.

Aber da wir keine Details haben, kann man da nur sagen: Falsches Forum. Falsche Ansprechpartner. Meine BWL Kenntnisse sind minimal im Vergleich zu den BWLern :)
 

KonradN

Super-Moderator
Mitarbeiter
Kann das sogar ein Risiko Thema sein?

Es gibt einen Erfahrungswert bezüglich kleiner Operationen. Jemand der x kleine Operationen hat, der hat auch y große Operationen. Und da es meist mit kleinen Operationen anfängt habe ich ein höheres Risiko einer großen Operation sobald es erste kleine Operationen gab.

Das Risiko wurde analysiert und bewertet. Und dem Risiko wird durch Rückstellungen begegnet. Bei Eintritt des Risikos muss ich halt zahlen.

Das geht dann auch Richtung Versicherung. Das macht die Versicherung ja auch nur im großen Masstab und gibt den Versicherungsnehmen die Möglichkeit, das Risiko auf die Versicherung zu übertragen (Was ein anderer Umgang mit dem Risiko ist!)
 

Mariexshhx

Bekanntes Mitglied
es geht zum Beispiel um eine append Operation in einem Array. Im besten Fall ist das Array groß genug und es kann einfach eingefügt werden (konstatnter Aufwand). Im schlechten Fall ist das Array voll und es muss verdoppelt werden (und somit haben wir keinen konstanten Aufwand mehr). so muss eine append Operation ohne verdopplung z.B. 1€ bezahlen und eine append mit Verdopplung 3n€.
Kann das sogar ein Risiko Thema sein?

Es gibt einen Erfahrungswert bezüglich kleiner Operationen. Jemand der x kleine Operationen hat, der hat auch y große Operationen. Und da es meist mit kleinen Operationen anfängt habe ich ein höheres Risiko einer großen Operation sobald es erste kleine Operationen gab.

Das Risiko wurde analysiert und bewertet. Und dem Risiko wird durch Rückstellungen begegnet. Bei Eintritt des Risikos muss ich halt zahlen.

Das geht dann auch Richtung Versicherung. Das macht die Versicherung ja auch nur im großen Masstab und gibt den Versicherungsnehmen die Möglichkeit, das Risiko auf die Versicherung zu übertragen (Was ein anderer Umgang mit dem Risiko ist!)
 

KonradN

Super-Moderator
Mitarbeiter
Also gibst du den Aufwand in € an? Wie kommt man auf die Idee? Vor allem macht das ja keinen Sinn bezüglich Sparbuch.

Ich verstehe immer noch nicht Dein Problem. Um was genau geht es Dir?

Es gibt bei der Laufzeitanalyse halt sowas wie den besten Fall oder den schlechtesten Fall und so. Meinst du sowas?

Vielleicht gibst du uns etwas mehr Hintergrind. Wir haben keine Ahnung, was ihr gerade wie in Unterricht oder Vorlesung behandelt. Da sind solche Posts extrem unverständlich….
 

mihe7

Top Contributor
es geht zum Beispiel um eine append Operation in einem Array. Im besten Fall ist das Array groß genug und es kann einfach eingefügt werden (konstatnter Aufwand). Im schlechten Fall ist das Array voll und es muss verdoppelt werden (und somit haben wir keinen konstanten Aufwand mehr). so muss eine append Operation ohne verdopplung z.B. 1€ bezahlen und eine append mit Verdopplung 3n€.
Dir scheint es um die amortisierte Laufzeit zu gehen.

Aber wo ist nun der Vorteil? Ich meine es wird doch kein Geld gespart. Ich muss doch so oder so das Geld aus dem Budget nehmen, ob ich das jetzt spare oder direkt dann aus dem Budget nehme wenn eine teure Operation gemacht wird ? Oder denke ich da falsch?

Sagen wir mal, wir möchten 3 Elemente in einem Array speichern. Dazu schauen wir uns doch mal an, wie es sich verhält, wenn wir mit einem Array der Größe 1 beginnen und die Kapazität um 1 erhöhen, sobald eine Vergrößerung notwendig wird.

Für das erste Element müssen wir erstmal ein Array anlegen, das kostet uns 1 €. Dann müssen wir das Element dort ablegen, auch das kostet 1 €. Heißt: um das erste Element einzufügen, zahlen wir 2 €.

Jetzt kommt das zweite Element. Jetzt müssen wir ein zweites Array der Größe 2 anlegen. Das kostet uns 1 €, dann müssen wir das Element aus dem alten Array kopieren: 1 €. Zum Schluss müssen wir das zweite Element im neuen Array ablegen, macht nochmal 1 €. Um das zweite Element einzufügen, zahlen wir 3 €.

Drittes Element, gleiches Spiel: Array anlegen, macht 1 €. Zwei Elemente kopieren, kostet 2 €. Drittes Element ablegen: 1 €. Um das dritte Element einzufügen, zahlen wir also 4 €.

D. h. um das n-te Element hinzuzufügen, zahlen wir (n+1) Euro. Um n Elemente hinzuzufügen müssen also 2+3+4+5+...+(n+1) = n + sum_i=1^n i Euro bezahlt werden. Die Summe sollte Dir bekannt vorkommen: der kleine Gauss. Und damit wissen wir: quadratische Laufzeit.

Außerdem können wir die Kosten nun einfach berechnen: n + (n²+n)/2 = (n² + 3n)/2. Für 8 Elemente brauchen wir also (64 + 24)/2 = 44 €. Für 16 schon (256 + 48) / 2 = 152.

Wenn wir die Kapazitäten verdoppeln, sieht die Sache anders aus:
1. Element: wie gehabt 2 €
2. Element: wie gehabt 3 €, Kapazität auf 2 erhöht.
3. Element: wie gehabt 4 €, Kapazität ist jetzt aber auf 4 erhöht.
4. Element: 1 €
5. Element: kostet 6 €, Kapazität auf 8 erhöht
6. Element: 1 €
7. Element: 1 €
8. Element: 1 € -> bis dahin haben wir 2+3+4+6+1+1+1+1 = 19 €
9. Element: Kapazität auf 16 erhöht, 10 €
10. bis 16. Element: je 1 € -> 7 €

Macht also 19 € für 8 Elemente bzw. 35 € für 16 Elemente.
 

Ähnliche Java Themen

Neue Themen


Oben