Forum: Object-Pascal / Delphi-Language
Delphi
by JasonDX,
31. Jul 2006
e**(Exponent * ln(Base)) ist eine andere Art, den Term Base**Exponent auszurechnen. Das ln(Base) beschreibt dabei den Logarithmus.
Das ist die Zeitkomplexität. Ein Algorithmus läuft immer in einer bestimmten Zeit ab.
Bspw. läuft diese Schleife:
for i := 1 to n do
nop;in O(n) ab, während
for i := 1 to n do
for j := 1 to n do
nop;in O(n*n) abläuft.
for i := 1 to 1 do
Forum: Object-Pascal / Delphi-Language
Delphi
by JasonDX,
30. Jul 2006
Der Implementierung nach nicht: Während Power über Exp(Exponent, ln(Base)) implementiert ist und damit in O(1) läuft , ist IntPower über eine (optimierte) Schleife implementiert, die in O(ln2(n)) abläuft.
Aber ich denke mal bei kleinen Exponenten könnte IntPower tatsächlich schneller sein, da weniger Operationen auf der FPU auszuführen sind.
greetz
Mike