объясните лучше вашу проблему, какие операции и какие элементы вы фокусируете?
в отношении проблемы с элементами, которые выбираются чаще, присвойте каждой строке «случайный множитель», при каждом сравнении вы умножаете число от 1 до 10 и случайный множитель строки, если результат выше X (скажем, ... 5), поэтому он выбирает строку, если нет, он ищет другую строку. таким образом, строки с более высокими коэффициентами будут иметь больше шансов быть выбранными