much more efficient node selection algorithm for crossover and macromutations