- 博客(5)
- 收藏
- 关注
原创 算法设计与分析第五章作业
那么解空间树的根节点往下第一层有3个分支(对应部件1的3种型号),从第一层每个分支节点往下第二层,又分别有3个分支(对应部件2的3种型号),第二层的每个分支节点再往下第三层,各有3个分支(对应部件3的3种型号),最终叶节点有 3×3×3 = 27 个,代表了27种不同的机器设计方案。然而,回溯算法也存在一定的局限性,比如在最坏情况下,如果解空间非常大且无法有效剪枝,时间复杂度可能会很高,呈指数级增长,对资源的消耗较大,所以在实际应用中,需要精心设计限界函数和选择合适的问题表示方式来尽量优化其性能。
2024-12-17 21:58:07
439
原创 算法设计与分析第四章作业
在每一步中,如果最优解没有选择删除最大的数字,可以将这个解转换为一个在该步骤选择删除最大数字的解。具体来说,如果最优解在某个步骤选择了删除一个较小的数字,可以将这个较小的数字替换为一个较大的数字,直到它变成当前可以删除的最大数字。这意味着在每一步选择删除最大的数字是一个正确的贪心策略。同时,在面对一个新问题时,如果问题表现出一定的贪心选择性质和最优子结构,就可以优先考虑使用贪心算法快速构建一个基础的解决方案。所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优解的选择,即贪心选择来达到。
2024-11-23 22:36:45
387
原创 算法第三章动态规划作业
②j==1:表示从第一列走,从上往下走,当前位置的通行费等于它上方位置的通行费加上当前位置的通行费,即a[i][j]=a[i][j]+a[i-1][j](3)边界条件:①i==1:表示从第一行走,从左往右走,当前位置的通行费等于它左边位置 的通行费加上当前位置的通行费,即a[i][j]=a[i][j]+a[i][j-1]③其它情况下,a[i][j]=a[i][j]+min(a[i][j-1],a[i-1][j])(2)状态方程:①i==1:a[i][j]=a[i][j]+a[i][j-1]
2024-10-28 10:58:02
401
原创 算法设计与分析第二章作业
我觉得分治法是一种非常强大的算法设计思想,它将一个复杂的问题分解成若干个规模较小、相对容易解决的子问题,然后通过合并子问题的解来得到原问题的解。分治法为解决复杂问题提供了一种清晰、有效的思路,让我们能够逐步将问题拆解,逐步求解,最终得到整个问题的答案。(5)由于数组下标从0开始,所以找第k小的数实际上是找下标为k-1的元素.若中轴元素的下标为k-1,直接返回中轴元素.否则再根据k的值进行第二次划分,递归寻找,找到为止。递归地解这些子问题;分治算法的基本思想是:分解子问题,求解子问题、合并子问题的解。
2024-10-15 22:22:17
284
原创 《数学之美》第一章:文字和语言VS数字和信息 读后感
谈到信息,我首先想到的是它的起源:信息的产生和传播可以追溯到人类的雏形时期,甚至动物界也存在通过特殊叫声表达特意思的现象。随着人类的世步,使需要表达的信息越来越多,语言应运而生,于是有了信息的传播。文字只是信息的载体,而非信息本身、不同的载体可能存储着相同意义的信息,文字促进了文明的传播和文流。它还谈到了编码与解码,也给出了历史案例,对我有很大的启发。我觉得《数学之美》第一章的内容相当丰富,它主要围绕文字和语言与数字和信息的关系展开,深入探讨3信息的产生、传播、编码与解码等多个方面。
2024-09-07 22:43:28
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅