Elija m elementos al azar de un vector que contiene n elementos
Tengo un vector que contienen
elementos. Necesito elegir un subconjunto dem
elementos al azar del vector sin repetición. ¿Cuál es la forma más eficiente de hacer esto? Necesito hacer esto miles de veces en mi código.
La solución que tengo en mente es usarrand()
para generar un número aleatoriok
Entre0
yn
. Luego elige lak
th elemento en el vector e insértelo en unastd::set
. Siga haciendo esto hasta que el tamaño del conjunto sea igual am
. Ahora estoy seguro de que el conjunto contienem
elementos únicos elegidos al azar del conjunto den
elementos.
¿Cuáles son las otras posibles soluciones?
Gracias