»» Man könnte für jedes Element einen Zufallswert bestimmen (für alle Elemente innerhalb der gleichen Grenzen) und diesen Wert mit dem Prozentsatz des Elementes multiplizieren. Das Element mit dem höchsten Wert gewinnt.
eine schöne idee, aber leider nicht machbar bei einem 100k-array.
ich müsste mit sowenig "befehlen/taktzyklen" wie möglich zum ziel gelangen.
Du wirst nicht drumherumkommen für jedes Element den Prozentsatz zu berücksichtigen und eine Multiplikation ist eine relativ sparsame Operation.
Sparsamer könnte es mit einer anderen Datenbasis gehen. Wenn es nur eine begrenzte Anzahl an Wahrscheinlichkeiten gibt und alles Elemente mit der selben Wahrscheinlichkeit in einem Array stehen, könnte man anhand der Wahrscheinlichkeiten und der Anzahl der Elemente in den Array eine Zufallsauswahl treffen, aus welchem Array ein Element, wiederum per Zufall, entnommen wird.