Hey Leute,
ich versuche grade einen Algorithmus zu optimieren und denke, dass mir dabei die durchschnittliche statistische Trefferanzahl pro Zeit helfen könnte. Und zwar habe ich folgenden Algo:
Code:
a = gesamtmenge;
b = teilmenge von a; // vielleicht ca. 1% der elemente aus a
for (time) do
begin
e = wähle zufälliges element aus a
if (e element von b) then
begin
// führe eine operation durch
end;
end;
Hier sieht man ja schnell, dass der Aufwand vor allem linear zur Zeit wächst. Da mich aber nur die Elemente interessieren, die auch wirlich in b vorkommen, dachte ich mir das so:
Code:
n = durchschnittliche treffer von b pro zeit;
foreach (e aus b) do
begin
for (n) do
begin
// führe eine operation durch
end;
end;
Dadurch würde der Aufwand dann ja primär von der Anzahl der Elemente in b abhängen. Natürlich ist die Zeit immer noch ein Faktor, aber da b wie beschrieben in den meisten Fällen sehr sehr wenige Elemente hat, dürfte diese Lösung deutlich performanter ausfallen.
Jetzt meine Frage: Wie ermittele ich die durchschnittlichen Treffer abhängig von der Zeit?
Viele Grüße
Zacherl