Katzehuhn
Erfahrenes Mitglied
Folgendes:
Ich hab bestimmte Objekte, die eine relative Häufigkeit in einem größeren System haben. D.h genaur: Ich hab eine Liste von Objekten und jedes dieser Objekte hat eine relative Häufigkeit. Aus dieser Liste an Objekten möchte ich mir nun eines zufällig herausfischen.
Dazu lasse ich mir erstmal eine zufällige Zahl zwischen 0 und der Summe aller relativen Häufigkeiten ausgeben.
Anfangs war meine Idee, dies einfach über die Datenbank abzufragen. Sprich die Daten werden so aufbereitet das ich pro "Gruppe" einen von und einen bis Wert hatte, der der relativen Häufigkeit des Objekts entsprochen hatte.
So konnte ich einfach per 'Zufallszahl' BETWEEN von AND bis, den notwendigen Datensatz herauslesen.
Nun bin ich aber zu den Punkt gelangt, dies alles in Java abbilden zu versuchen.
Hab dies eigentlich auch schon ganz ok hinbekommen, mich würde es jedoch interessieren ob es irgendwo eine optimale Lösung zu diesem Problem gibt? Man könnte die Objekte ja nicht nur irgendwie sortieren und in der Mitte zu suchen anfangen, sondern sie nach Häufigkeiten ordnen um so irgendwie einen Geschwindigkeitszuwachs zu erhalten. Jemand ne Idee?
Ich hab bestimmte Objekte, die eine relative Häufigkeit in einem größeren System haben. D.h genaur: Ich hab eine Liste von Objekten und jedes dieser Objekte hat eine relative Häufigkeit. Aus dieser Liste an Objekten möchte ich mir nun eines zufällig herausfischen.
Dazu lasse ich mir erstmal eine zufällige Zahl zwischen 0 und der Summe aller relativen Häufigkeiten ausgeben.
Anfangs war meine Idee, dies einfach über die Datenbank abzufragen. Sprich die Daten werden so aufbereitet das ich pro "Gruppe" einen von und einen bis Wert hatte, der der relativen Häufigkeit des Objekts entsprochen hatte.
So konnte ich einfach per 'Zufallszahl' BETWEEN von AND bis, den notwendigen Datensatz herauslesen.
Nun bin ich aber zu den Punkt gelangt, dies alles in Java abbilden zu versuchen.
Hab dies eigentlich auch schon ganz ok hinbekommen, mich würde es jedoch interessieren ob es irgendwo eine optimale Lösung zu diesem Problem gibt? Man könnte die Objekte ja nicht nur irgendwie sortieren und in der Mitte zu suchen anfangen, sondern sie nach Häufigkeiten ordnen um so irgendwie einen Geschwindigkeitszuwachs zu erhalten. Jemand ne Idee?