分治法实现循环赛日程安排(递归和非递归)

admin 89 2024-02-12 00:07:59

  用分治法实现n(n=2k,k=1,2,3……)个参赛人员的循环赛日程安排,分别用递归与非递归思想实现

  要求:

  1、每个选手必须与其他n-1个选手各比赛一次;大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  2、每个选手一天只能参赛一次;

  3、循环赛在n-1天内结束。

  利用分治法的思路,将n个选手分成两半,则n个选手的比赛日程表可由n/2个选手的比赛日程表来决定。递归地用这种一分为二的策略对选手进行划分,直到只剩下两个选手时,比赛日程的指定就变得很简单。

  在这里插入图片描述

  如上图,4个选手的比赛日程可由2个选手的比赛日程得到:左下角由左上角对应位置加2得到;右上角同样由对应位置加2得到,即复制左下角;右下角复制左上角。

  同理,8个选手的比赛日程表可由4个选手的比赛日程表得到,16个的可由8个的得到,以此类推,我们可以得到2k个选手的比赛日程表。

  大二的菜鸟写博客来理一下算法设计与分析课程实验的思路,打发打发时间大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。有问题欢迎指正。我很菜我心里知道,哈哈 !

  在这里插入图片描述大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

分治法实现循环赛日程安排(递归和非递归)

分治法实现循环赛日程安排(递归和非递归)

上一篇:2022世预赛40强赛H组赛程及对阵时间
下一篇:4/5今日竞彩推荐:风浪越大鱼越贵,精选2串1实单推荐!
相关文章
返回顶部小火箭