Verfasst: Dienstag 29. September 2009, 23:25
@Seeker: Mit Elementen sind die Elemente der Liste gemeint. Wenn Du ein Element aus einer Liste entfernst, werden alle Elemente die danach kommen umkopiert um die Lücke zu schliessen.
Meine Funtkion sollte für `count` auf viele Versuche im Mittel das gleiche Ergebnis liefern, wie Dein Quelltext, nur halt wesentlich schneller. Dein Ansatz sucht sich aus der Liste der Möglichkeiten immer eine Zahl aus und vergleicht mit der gesuchten Zahl. Die Möglichkeiten werden also in einer zufälligen Reihenfolge durchprobiert. Genau das gleiche mache ich auch, ich bringe die Möglichkeiten erst in eine zufällige Reihenfolge, und dann schaue ich an wievielter Stelle der Treffer steht, also wie oft in der zufälligen Reihenfolge davor eine falsche Zahl stand. Ich mache damit zwar "mehr" Arbeit als Du, weil ich alle Möglichkeiten mische und die nach dem Treffer eigentlich gar nicht benötigt werden, aber das passiert eben in linearer Laufzeit und nicht quadratisch. Damit ist's dann ab einem bestimmten Punkt deutlich schneller.
Meine Funtkion sollte für `count` auf viele Versuche im Mittel das gleiche Ergebnis liefern, wie Dein Quelltext, nur halt wesentlich schneller. Dein Ansatz sucht sich aus der Liste der Möglichkeiten immer eine Zahl aus und vergleicht mit der gesuchten Zahl. Die Möglichkeiten werden also in einer zufälligen Reihenfolge durchprobiert. Genau das gleiche mache ich auch, ich bringe die Möglichkeiten erst in eine zufällige Reihenfolge, und dann schaue ich an wievielter Stelle der Treffer steht, also wie oft in der zufälligen Reihenfolge davor eine falsche Zahl stand. Ich mache damit zwar "mehr" Arbeit als Du, weil ich alle Möglichkeiten mische und die nach dem Treffer eigentlich gar nicht benötigt werden, aber das passiert eben in linearer Laufzeit und nicht quadratisch. Damit ist's dann ab einem bestimmten Punkt deutlich schneller.