Я не знаю, есть ли какой-либо algrithom, чтобы получить оптимальное парирование для раздела данных на основе ключей (необходимо обеспечить одинаковые записи ключей в одном наборе данных результата).Как получить наиболее однородные результаты разделения?
Например: У меня есть набор данных должен быть разделен на две части:
key num_of_records
k1 20
k2 15
k3 2
k4 3
k5 5
Есть 2^5 видов разных перегородок. такие как
part1: k1 k3 k4 (total records: 25)
part2: k2 k5 (total records 20)
И еще один раздел является:
part1: k1 k4 (total records 23)
part2: k2 k3 k5 (total revords 22)
Последний раздел лучше, чем первый, так как это позволяет количество записей распределенных более равномерно в две части.
Итак, мне нужен algrithm, чтобы найти оптимальный раздел.
Может ли кто-нибудь дать мне несколько предложений по этой теме? Как я могу подойти к этой проблеме?
Спасибо.
Несмотря на то, что я согласен с тем, что вы говорите, вопрос (вид) подразумевает, что OP недоволен разделителем по умолчанию, поэтому я не думаю, что рекомендовать этот вопрос является полезным ответом. –
Он _thinks_ он не доволен. Это не влияет на правильность моего ответа или нет. –
Я думаю, стоит добавить, что слепое применение 'hashCode()' ко всему ключу не полезно для всех сценариев, оно отлично подходит для простых текстовых клавиш, таких как приведенные в примере. –