java雪花算法 平均分堆為什么會出現(xiàn)重復情況?重復要除以幾的階層,為什么?
平均分堆為什么會出現(xiàn)重復情況?重復要除以幾的階層,為什么?這里有一個簡單的例子來說明,四個人平均分成兩組,然后有(4C2)*(2c2)/(2A2)=三種情況,顯然有三種情況:a、B、a、C、a和D(兩
平均分堆為什么會出現(xiàn)重復情況?重復要除以幾的階層,為什么?
這里有一個簡單的例子來說明,四個人平均分成兩組,然后有(4C2)*(2c2)/(2A2)=三種情況,顯然有三種情況:a、B、a、C、a和D(兩組中的一個),因為選擇了一組后,剩下的組將不會被劃分,它將自動被劃分分成一組。如果不除以群的階乘,4C2*2c2中會有重復,有a,B,C,a,D,B,C,B,D和C(兩個群中的一個)。此時,a、B和C將與B、D和a重復,因此我們需要排除重復:兩組的完全排列2A2是相同的。六個ABCDEF被分成三組。選擇AB、CE、DF組。按照6c2*4C2*2c2的算法,會有3a3種重復,即AB、CE、DF,答案是6c2*4C2*2c2/3a3