算法设计和分析
学会常见的算法和完成相关的操作。
不懂代码的孩子
很菜但是喜欢
展开
-
回溯法和分治限界法的重点内容
剪枝函数通过比较当前搜索分支的估计值与当前最优解的估计值,判断该分支是否有可能得到更优解,如果不可能,则进行剪枝操作。在每次进行搜索时,剪枝函数对当前状态进行评估,如果发现当前状态已经不能满足问题的约束条件或者不可能得到更优解,则可以通过剪枝操作来跳过该分支,将搜索重点转移到其他可能的分支上。 剪枝函数的设计和实现依赖于具体的问题和算法。 使用剪枝函数可以显著减少算法的搜索空间,提高算法的效率和性能,尤其在处理复杂的组合优化问题和搜索树较大的情况下,剪枝函数的使用是非常重要的。原创 2023-07-25 09:29:32 · 478 阅读 · 0 评论 -
贪心算法重点内容
按照单位重量的价值排序。原创 2023-07-23 20:37:38 · 1324 阅读 · 0 评论 -
动态规划重点内容
动态规划重点内容1.动态规划矩阵连乘有多少个子问题m和s表。利用递归进行求解问:最少乘多少次?括号加在哪里?1.1递推公式1.2案例2.给出一个字符序列如何求出最长公共子序列?2.1递推公式2.2案例3.动态规划01背包问题3.1递归定义3.2案例原创 2023-07-23 20:32:24 · 80 阅读 · 0 评论 -
分治法重点内容
分治法重点内容原创 2023-07-23 20:29:56 · 64 阅读 · 0 评论 -
算法分析和设计简答题
算法分析和设计简答题原创 2023-07-23 20:27:24 · 797 阅读 · 0 评论 -
算法复习题
要将这种关系转换为自底向上的动态规划算法,我们需要以正确的顺序填写子问题解的表格,使得在解任一子问题时,所有它需要的子问题都已经被解决了。分治法的设计思想是将一个难以直接解决的大问题分割成规模较小的子问题,分别解决子问题,最后将子问题的解组合起来形成原问题的解。这要求原问题和子问题(回溯算法在生成解空间的任一结点时,先判断该结点是否可能包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向祖先结点回溯。算法肯定是有限制的,需要在一定的空间和时间资源的限制中去完成我们需要完成的事情。原创 2023-07-23 20:23:16 · 1818 阅读 · 0 评论 -
实验五 分支限界法
分支限界法的算法的实现原创 2023-07-23 20:19:26 · 512 阅读 · 0 评论 -
实验四 回溯法
售货员问题。原创 2023-07-23 20:16:57 · 295 阅读 · 0 评论 -
实验三 贪心算法
给定带权有向图G =(V,E),其中每条边的权是非负实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到所有其它各顶点的最短路长度。这里路的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。Dijkstra算法的时间复杂度为O((m+n)logn),其中m是边的数量,n是顶点的数量。2、应用优先队列求单源顶点的最短路径Dijkstra算法,掌握贪心算法。1、掌握贪心算法的基本要素 :最优子结构性质和贪心选择性质。原创 2023-07-23 20:14:27 · 1948 阅读 · 0 评论 -
实验二 动态规划
矩阵连乘问题的算法实现。原创 2023-07-23 20:10:34 · 183 阅读 · 0 评论 -
实验一 分治策略
分治策略原创 2023-07-23 20:07:38 · 99 阅读 · 0 评论 -
算法算法算法算法
if (x==a[middle]){//检查中间元素和目标值的大小。if (a[mid]>x)//左边。//当某一个序列是空的时候进行的操作。return -1;else //右边。//计算c[i][j]的值。//计算m[i][j]原创 2023-07-07 08:56:16 · 305 阅读 · 1 评论 -
算法分析和设计选择和判断
算法设计的基本的选择和判断原创 2023-07-06 22:20:29 · 1842 阅读 · 0 评论 -
渔夫打鱼判断
古语有云,三天打鱼两天晒网;有个渔夫遵循这一原则;1,2,3号打鱼,4,5号晒网。输入一个日期,判断渔夫在这一天是打鱼还是晒网。我采用的是对日期进行求余数。原创 2023-06-28 21:22:29 · 256 阅读 · 0 评论 -
输入年月日,日期; 求这个日期在这一年中是第几天
输入年月日,日期; 求这个日期在这一年中是第几天原创 2023-06-28 21:17:05 · 348 阅读 · 0 评论 -
有一个三位数,他的各个位数的阶乘相加得到这个数
有一个三位数,它的各个位数的阶乘相加得到这个数。依次对个位,十位和百位进行拆解计算阶乘。然后相加看看是不是和原来的数据是相等。原创 2023-06-28 21:11:23 · 354 阅读 · 0 评论 -
一个大于6的偶数,能被两个质数相加得到
从中间两侧把数相加看看能不能得到对应的偶数=两个奇数相加能够得到的值。证明:一个大于6的偶数,能被两个质数相加得到。小伙伴们有好的方法欢迎评论区留言。先判断输入的数据是不是大于6的偶数。编写判断某个数是不是质数的方法。原创 2023-06-28 20:57:33 · 142 阅读 · 0 评论 -
祖冲之算法
祖冲之算法原创 2023-06-28 20:55:34 · 397 阅读 · 0 评论 -
回溯法的Java实现
旅行售货员问题:设有一个售货员从城市1出发,到城市2,3,…,n去推销货物,最后回到城市1。假定任意两个城市i,j间的距离dij(dij=dji)是已知的,问他应沿着什么样的路线走,才能使走过的路线最短?原创 2023-06-14 21:04:53 · 340 阅读 · 0 评论 -
实验五 分支限界法
理解分支限界法的剪枝搜索策略,掌握分支限界法的算法框架设计并实现问题,掌握分支限界算法。原创 2023-05-17 19:39:23 · 233 阅读 · 0 评论 -
实验四 回溯法
设有一个售货员从城市1出发,到城市2,3,…,n去推销货物,最后回到城市1。假定任意两个城市i,j间的距离dij(dij=dji)是已知的,问他应沿着什么样的路线走,才能。将编程计算出的最长最大活动安排结果输出到文件output.txt。设计一个回溯算法,找到一条旅行回路,使走过的路线最短。由文件input.txt 给出输入数据。c++或java或Turbo c。原创 2023-05-17 19:35:36 · 205 阅读 · 0 评论 -
实验一 分治策略
1、理解递归的概念,掌握设计有效算法的分治策略。2、分治法求解最大连续子数组(字段和)问题原创 2023-05-17 19:27:11 · 131 阅读 · 0 评论 -
实验二 动态规划
掌握动态规划算法的基本步骤:找出最优解的性质,并刻画其结构特征;递归地定义最优值;以自底向上的方式计算出最优值;根据计算最优值时得到的信息,构造最优解。设计并实现矩阵连乘的算法,掌握动态规划算法。原创 2023-05-17 19:28:56 · 112 阅读 · 0 评论 -
实验三 贪心算法
1、掌握贪心算法的基本要素 :最优子结构性质和贪心选择性质2、应用优先队列求单源顶点的最短路径Dijkstra算法,掌握贪心算法。原创 2023-05-17 19:30:57 · 159 阅读 · 0 评论 -
对矩阵规模序列<5,10,3,12,5,50,6>,求矩阵链最优括号化方案
最大公共子序列问题原创 2023-04-13 21:29:32 · 1179 阅读 · 0 评论 -
01背包的算法设计和代码实现以及01背包问题的复杂度计算
01背包问题的算法设计和实现原创 2023-04-13 15:45:06 · 1155 阅读 · 0 评论