背景:
假设有1000个订单,每个订单的金额不同且相差较大,要分成10组来处理这些订单,希望每组的单数和每组订单的总额尽量相等,请问如何分配。希望各位给出算法设计和复杂度计算。
抛砖:
目前我的想法:先对1000个订单的金额进行排序,然后将拍好序的订单按照蛇形方式分配到10组内,即第1~10个订单分别分配到第1~10个组内,当11~20分别分配到第10~1个组内,如此重复。这样的时间复杂度是排序的复杂度O(n log_n)。
假设有1000个订单,每个订单的金额不同且相差较大,要分成10组来处理这些订单,希望每组的单数和每组订单的总额尽量相等,请问如何分配。希望各位给出算法设计和复杂度计算。
抛砖:
目前我的想法:先对1000个订单的金额进行排序,然后将拍好序的订单按照蛇形方式分配到10组内,即第1~10个订单分别分配到第1~10个组内,当11~20分别分配到第10~1个组内,如此重复。这样的时间复杂度是排序的复杂度O(n log_n)。