![](https://i-blog.csdnimg.cn/direct/71fe18d8d40e4141b8b6c47214ca3713.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
文章平均质量分 65
一些经典算法
码明
独学无友,则孤陋而难成。
展开
-
算法的理解及其复杂度分析
根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的 规模有关。空间复杂度过高的算法可能导致使用的 内存超限,造成程序非正常中断。原创 2024-07-24 17:40:37 · 313 阅读 · 0 评论 -
0-1背包问题与动态规划
System.out.println("最大商品价值为:" + max + "元!//根据递推表达式一行一行地填表。原创 2023-06-05 11:40:12 · 38 阅读 · 1 评论 -
最长公共子序列与动态规划
System.out.println("其最长公共子序列的LCS为:" + max);//根据递推公式一行一行向下填表。原创 2023-06-05 11:41:02 · 40 阅读 · 1 评论 -
动态规划与最大子段和问题
动态规划算法在许多实际问题中都非常有效,尤其是那些具有重叠子问题和最优子结构特征的问题。例如,对于一个背包问题,状态可以表示为一个包含所有物品和它们的重量的数组。它的基本思想是将大问题分解为若干个相互依赖的小问题,通过求解小问题的最优解来得到整个问题的最优解。选择最优子结构:为了避免重复计算,需要确保只有当当前状态的最优解可用时才更新记忆化表中的值。这些初始值通常是问题的边界条件,即问题中已知的最小或最大值。回溯求解:根据状态转移方程从最后一个状态开始,逐步回溯到初始状态,以求解整个问题的最优解。原创 2023-05-27 23:47:39 · 322 阅读 · 2 评论 -
背包问题与贪心算法
i++) {//遍历每个商品是否装下,或者是装部分。System.out.println("贪心背包所装下的最大物品价值为:"+max+"元!//与动态规划不同的是,贪心算法的每一步都是取最优值,所以不一定会得出问题0-1背包的最优解。//贪心算法解决背包问题时的策略是将按单位价值比最大的物品依次向下遍历直到装满背包。//在这里用一下定制排序。用贪心算法解背包问题的基本步骤。原创 2023-06-06 19:59:05 · 61 阅读 · 1 评论 -
矩阵连乘与动态规划
/矩阵规模,pi-1表示矩阵Ai的行,pi表示Ai的列。System.out.println("该矩阵序列连乘问题的最优值是:" + min);r++)//r个矩阵相乘。原创 2023-06-05 13:35:41 · 55 阅读 · 1 评论 -
最优装载问题与贪心算法
System.out.println("要装的集装箱号为:");然后依此顺序将集装箱装上轮船,直到不能装为止。个集装箱依其重量从小到大排序。原创 2023-06-07 19:22:17 · 92 阅读 · 1 评论 -
活动安排问题与贪心算法
/这里需要按每个活动的结束时间将二表按升序排列。存储所选择的活动,先将排序好的第一个活动加入集合。//双层循环遍历俩表。3,直到所有的活动都被检查完。个活动按结束时间的非减序排列。中所有活动的最大结束时间。原创 2023-06-07 18:07:33 · 50 阅读 · 1 评论