单循环赛贝格尔编排法实现

单循环赛,是指所有参赛队伍都需跟其他队伍比赛一次,根据比赛得分,胜负场次来排列名次。比赛队伍为单数时,轮数等于队伍数,为双数时,轮数等于队伍数减一。如5支队伍需比赛5轮,6支队伍需比赛5轮。

首先介绍下逆时针轮转法。将队伍用阿拉伯数字从1开始编号,编排时将参赛队伍平均分成左右两排,左边从1开始自上向下排,右边按号数自下向上排,形成一个U型结构。如果队伍数为奇数,则在最后加一个“0”,凑成偶数。与0比赛的队伍该轮轮空。假设现在有7支队伍参赛,加上一个0,凑成8支。根据前面所述排列好队伍,然后将左右两排分别平行连线,就形成第一轮比赛的编排表,即1-02-73-64-5,队伍1在该轮轮空。第二轮开始,固定左上角的数字1,其余的数字想象成一个环,按逆时针方向移动一个位置,就形成第二轮的编排表。以此类推,每一轮移动一个位置,生成剩余轮次的编排表。最终形成的编排表如下:

     二            五        七

10 17 16 15 14 13 12

27 06 75 64 53 42 30

36 25 04 73 62 50 47

45 34 23 02 70 67 56

 

仔细观察,会发现从第4轮开始,队伍6总是跟上一轮轮空的队伍比赛,这就是逆时针轮转法的缺点,即第二轮的轮空队从第四轮开始,每轮都与前一轮的轮空队伍比赛。

贝格尔编排法与逆时针轮转法类似,不过有两个区别。一是交替固定最大的数字(或者0)在左上角和右上角,当前轮次在左上角,则下一轮固定到右上角。二是固定最大数字(或者0)后,剩余的数字想象成一个环,移动一定间隔,这个间隔根据队伍数决定:

队伍数 间隔数

<=4      0

5 - 6      1

7 - 8      2

9 -10

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值