![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计实验报告
文章平均质量分 83
成长93
进步(急需资料或者想直接花米购买请私信)
展开
-
中北大学阿尔法编程之分治算法
整数划分问题整数划分问题:将一个整数划分为若干个数相加例子:整数4 最大加数 44=41+3=41+1+2=42+2=41+1+1+1=4一共五种划分方案注意:1+3=4,3+1=4被认为是同一种划分方案最后输出共几种划分方案#include <stdio.h>int q(int n, int m) {if (m == 1 || n == 1) {return 1;} else if (n == m && n >原创 2024-06-30 15:55:24 · 218 阅读 · 0 评论 -
中北大学阿尔法编程之蛮力与分治算法
甲说:牌照的前两位数字是相同的;马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计30个人,在一家饭店里吃饭,共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几人,列出所有可能的组合。有一群鸡和一群兔,他们的只数相同,它们的脚数都是三位数,且这两个三位数的各位数字只能是0、1、2、3、4、5。最大公约数:可以同时被两个数整除的最大的那个数就是最大公约数,比如说6和12,那么6可以同时被两个数整除,最大公约数不会超过两个整数中较小的一个。原创 2024-06-30 15:51:08 · 240 阅读 · 0 评论 -
中北大学算法贪心算法问题实验:题目1 贪心算法解决TSP问题
这个函数的时间复杂度是O(n),因为它需要遍历所有未访问的城市。综合以上因素,整个算法的时间复杂度是O(n^2),因为对于n个城市,我们需要执行n次迭代,每次迭代中findNearestCity函数需要O(n)的时间来找到最近的未访问城市。对于TSP,贪心法可能会在每一步选择最近的下一个城市,但这种方法不能保证最终路径是最短的,因为可能存在更远的路径,但总体上能更快地连接所有城市并返回起点。在小规模问题上,贪心算法可能表现得相当不错,但在大规模问题上,可能需要更复杂的算法来获得更好的结果。原创 2024-06-28 11:42:29 · 707 阅读 · 0 评论 -
中北大学算法课动态规划问题实验:题目1 数塔问题
有运行代码截图和伪代码原创 2024-06-28 08:47:50 · 338 阅读 · 0 评论 -
分治与减治算法实验:题目5 排序中减治法的程序设计
来不及了原创 2024-04-15 20:27:59 · 920 阅读 · 1 评论 -
分治与减治算法实验:题目6 淘汰赛冠军问题
下面考虑采用减治法,开始时将所有选手分成n/2组,每组两个选手进行比赛,被淘汰者不参加以后的比赛,然后再将剩余选手分成n/4组,每组两个选手进行比赛,……,则外层的while循环共执行k次,在每一次执行时,内层的for循环的执行次数分别是n/2,n/4,…假设有n个选手进行竞技淘汰赛,最后决出冠军的选手,请设计竞技淘汰比赛的过程,输出结果,输出时要求有文字说明。if (Comp(r[j + i], r[j])) //胜者存入r[j]中。(4)在掌握的基础上编程实现淘汰赛冠军问题的具体实现过程。原创 2024-04-15 19:38:50 · 643 阅读 · 1 评论 -
分治与减治算法实验:题目3 汉诺塔问题的程序设计
汉诺塔问题,此实验报告没有实验报告和具体时间复杂度分析,有代码和运行截图,已在Dev成功运行原创 2024-04-15 13:11:02 · 384 阅读 · 1 评论 -
分治与减治算法实验:题目2 排序中分治法的程序设计
归并排序和快速排序,有归并排序伪代码和两排序复杂度分析,两个排序的代码和运行截图,已在Dev上成功运行原创 2024-04-15 12:28:40 · 1545 阅读 · 1 评论 -
分治与减治算法实验:题目1 数字旋转方阵程序设计
按照老师要求所写伪代码,有时间复杂度分析和运行截图,Dev即可运行原创 2024-04-12 21:39:05 · 703 阅读 · 0 评论 -
中北大学算法基础实验:蛮力与优化算法实验:题目1
使用java写代码,伪代码与老师PPT要求一致,有代码运行截图和时间复杂度分析,如果有误请及时评论。原创 2024-04-07 18:28:09 · 895 阅读 · 0 评论 -
中北大学算法基础实验:数理基础与串匹配程序设计实验报告
每次都要比较到子串的最后一个字符1才发现匹配不成功(进行了4次匹配),直到最后才匹配成功,所以除了后m位以外,主串中前面的字符(n-m个字符)都要一一和子串进行m次匹配,然后发现匹配不成功,所以就是(n-m)*m,再去加上最后m个字符进行m次匹配才发现匹配成功,即(n-m+1)*m。(m(最好情况下)+(n*m)(最坏情况下))/2=( (n+1)/2 )*m,数量级还为(n*m),所以时间复杂度为O(n*m)。可以近似等于(n+n+!)*m,即可以近似等于(2n)*m,所以时间复杂度还是O(n*m)。原创 2024-04-06 21:09:56 · 869 阅读 · 1 评论