- 博客(4)
- 收藏
- 关注
原创 算法设计与分析第五章作业
当发现当前已选零件的总价格已超过c时,且当前重量已经大于已知的最小重量解时,可以停止搜索。在选择每个零部件时,计算当前选择的总重量,加上未来所有零部件可能的最小重量(根据其最小价格供应商的重量)。因此,解空间的大小是 (m^n),即每个零部件有m种选择,n个零部件的组合。回溯算法通过递归的方式试探所有可能的解,当某个解不再满足条件时,会“撤回”到上一步并尝试其他选择。叶节点:如果一个节点是叶节点,且其对应的选择在价格上不超过c,则该选择为一个有效解。当前选择的零件配置表示每个零部件选择的供应商。
2024-12-22 23:23:32
471
原创 【无标题】
动态规划是一种复杂但也极为实用的方法,它在计算机科学中占据了重要的位置,尤其在优化问题和组合问题中发挥重要作用,通过不断练习和理解,会使我们更熟练地应用这一技术。解决动态规划问题的步骤通常包括:理解问题、识别子问题、定义状态、推导状态转移方程、确定边界条件、实现算法、进行复杂度分析。:( O(m \times n) ),因为每个位置 ((i, j)) 都需要计算一次,整个矩阵的遍历时间为矩阵大小。动态规划适用于最优子结构的问题,即一个问题的最优解可以由其子问题的最优解构成。
2024-11-03 23:56:21
725
原创 算法第二章作业
通过学习分治算法,我认识到除了技术细节和实现,分治思路特别强调理解和设计"分"的步骤及"治"的整合结果。优秀的分治方法体现在如何有效的分解原问题,并将各子问题的解高效整合为原问题的解。一般来说,分治法适用于那些可以自然地分成相似子问题的场景,比如排序、查找、几何计算等。不过,分治策略看似解决复杂问题,但其效率很大程度上依赖于问题分解是否均匀与合理分配。用伪代码描述找第k小的数的分治算法。
2024-10-21 00:00:13
591
原创 编码规范及<数学之美>读后感
编码规范”一词的出现,是基于保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如刚开始接触编程的时候,老师就已经对变量命名、注释等内容的书写进行了规定。于编程小白是如此,于各大公司内部的管理标准也是如此。
2024-09-11 13:04:44
1870
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅