Hey,
Also, ich möchte folgendes optimieren :
Ich generiere viele random integer werte.
Allerdings möchte ich das kein Wert doppelt ausgespuckt wird.
Die banale (ineffiziente) methode hierfür wäre:
1) int generieren.
2) Prüfen ob List<int> contains random int
3) wenn nicht enthalten add zur list und returne wert. Andernfalls, neuen int generieren und check wiederholen.
Das problem ist wenn man bspw millionen von werten generieren möchte, müsste man jedes mal die ganze liste prüfen (mit contains()).
Und da diese stetig wächst müssten immer mehr werte geprüft werden, nach einer weile wäre das sehr zeitintensiv, man prüft 1000000 elemente, dann 1000001 dann 1000002 usw....
Was wäre eine effizientere methode die kein redundantes prüfen der liste erfordert?
Also, ich möchte folgendes optimieren :
Ich generiere viele random integer werte.
Allerdings möchte ich das kein Wert doppelt ausgespuckt wird.
Die banale (ineffiziente) methode hierfür wäre:
1) int generieren.
2) Prüfen ob List<int> contains random int
3) wenn nicht enthalten add zur list und returne wert. Andernfalls, neuen int generieren und check wiederholen.
Das problem ist wenn man bspw millionen von werten generieren möchte, müsste man jedes mal die ganze liste prüfen (mit contains()).
Und da diese stetig wächst müssten immer mehr werte geprüft werden, nach einer weile wäre das sehr zeitintensiv, man prüft 1000000 elemente, dann 1000001 dann 1000002 usw....
Was wäre eine effizientere methode die kein redundantes prüfen der liste erfordert?
C# Developer
Learning C++
Learning C++