当前位置: 首页 > news >正文

网站建设的发展趋势建设银行官方网站面试详细信息

网站建设的发展趋势,建设银行官方网站面试详细信息,phpcms做视频网站首页,现在有哪些网站兼职可以做实验一#xff1a;分治与递归 【实验目的】 深入理解分治法的算法思想#xff0c;应用分治法解决实际的算法问题。 【实验性质】 验证性实验#xff08;学时数#xff1a;2H#xff09; 【实验内容与要求】 1、设有n2k个运动员要进行网球循环赛。现要设计一个满足以…实验一分治与递归 【实验目的】 深入理解分治法的算法思想应用分治法解决实际的算法问题。 【实验性质】 验证性实验学时数2H 【实验内容与要求】 1、设有n2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表⑴每个选手必须与其他n-1个选手各赛一次⑵每个选手一天只能赛一次⑶循环赛一共进行n-1天。按此要求可将比赛日程表设计成有n行和n列的一个表。表中第一列是选手编号表中第i行和第j列j1处填入第i个选手在第j天所遇到的选手。例如8个选手的日程表安排如右图所示。 要求请设计算法并采用C或C语言编写程序实现上述功能调试运行并对算法的时间复杂度进行分析。 【算法思想及处理过程】 首先通过输入参赛人数n判断n是否合法是否为2的幂次方如果不合法则输出错误信息。 然后输入第一个选手的编号k。 调用roundrob函数传入参数k和n。roundrob函数的作用是生成对阵表。 首先判断n是否为2如果是则直接生成对阵表。对阵表是一个二维数组a每个元素表示某个选手与另一个选手的对阵情况。 如果n不是2递归调用roundrob函数将n除以2传入并分成两个子问题分别解决。 递归结束后对阵表的前一半行和后一半行进行交换生成完整的对阵表。 最后遍历对阵表并输出每个元素的值。 在主函数中先判断n是否合法如果合法则调用roundrob函数生成对阵表并输出。 如果n不合法则直接返回。 【程序代码】 #include stdio.h #includeiostream using namespace std; int a[100][100]{}; void roundrob(int k, int n) {        if (n 2)     {         a[k][0] k 1;         a[k][1] k 2;         a[k 1][0] k 2;         a[k 1][1] k 1;     }     else     {         roundrob(k,n / 2);         roundrob(k n / 2,n / 2);     }     for (int i k; i k n / 2; i)     {         for (int j n / 2; j n; j)         {             a[i][j] a[i n / 2][j - n / 2];         }     }     for (int i k n / 2; i k n; i)     {         for (int j n / 2; j n; j)         {             a[i][j] a[i - n / 2][j - n / 2];         }     } } int determine(int n) {     if (n % 2 0)     {         if (n / 2 1) return 1;         determine(n / 2);     }     else     {         cout 输入人数不合法 endl;         return 0;     } } int main() {     int n;     int k;     cout 请输入参赛人数 endl;     cin n;     if (determine(n) 1)     {         cout 请输入第一个选手编号 endl;         cin k;         k k - 1;         roundrob(k, n);         int i 0, j 0;         for (i 0; i n; i)         {             for (j 0; j n; j)             {                 cout a[i][j] ;             }             cout endl;         }     }     if (determine(n) 0)     {         return 0;     } } 【运行结果】 程序运行结果截图。 【算法分析】 代码的时间复杂度为O(n^2)其中n为参赛人数。代码中使用递归的方式生成了一个二维数组a数组的大小为n×n。在生成数组a的过程中有两个嵌套的循环每个循环的次数都是n/2因此循环次数总共为n/2 × n/2 n^2/4所以时间复杂度为O(n^2)。另外代码中还有一个determine函数该函数的时间复杂度为O(logn)因为每次递归都将n除以2直到n为偶数。
http://www.ho-use.cn/article/10822623.html

相关文章:

  • 上海网站建设网页制作怎么样专业的个人网站建设哪家
  • 做网站 难山东坤泰建设集团网站
  • 在线旅游网站如何建议一个网站
  • 贵阳网站建设多少钱?罗湖中心区做网站
  • 支付宝网站登录入口网站加黑链
  • 可以自己做网站的网址怎样推广产品
  • 企业品牌网站建设首选公司好用的小程序推荐
  • 做学术论文的网站深圳做网站网络公司排名
  • 如何在腾讯云上网站建设做集装箱的网站
  • 企业做网站多少钱五大建设的主要内容
  • 同德县wap网站建设公司wordpress最大的网站
  • 42区 网站开发指南佛山网站关键词
  • 域名换了网站需要备案么wordpress给用户推送消息
  • 怎样做服装网站如何在阿里云自主建网站
  • 班级网站空间建设取得效果wordpress伪静态配置不了
  • 龙江网站设计制作梅州建站联系方式
  • 营销型网站建设实训总结电影爱好网
  • 网站制作多少钱一年营销型网站建站系统
  • 深喉咙企业网站网站开发 浏览器兼容性
  • 自己怎么制作app软件株洲seo优化高手
  • 网站怎么做七牛云加速国产化网站建设
  • 网站制作排行榜企业邮箱官方网站
  • 阿里网站导航怎么做的互联网保险现状
  • 网站安全风险评估报告阿里wordpress怎么安装教程
  • 宁波企业自助建站系统优化网站软文
  • 国际网页浏览器重庆seo优化推广
  • html5网站建设平台机关网站机制建设情况
  • 备案主体负责人和网站负责人wordpress 返回顶部 插件
  • 网站系统开发怎么做合肥全员核酸检测
  • 工行网站如何做理财风险评估山东平台网站建设多少钱