- 博客(3)
- 收藏
- 关注
原创 算法设计与分析第三章作业
动态规划法,简称DP,用以解决有很多重叠子问题的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划法产生的子问题一般不是相互独立的,而是相互联系,更大的子问题的最优解依赖于更小的子问题的最优解,层层递归,最终得到原问题的最优解。需要用到三重循环,时间复杂度为O(n^3);需要用到一个二维数组dp[n][n],空间复杂度为O(n^2)。当i=j时,dp[i][j]=0,表示只有一堆石头时不用合并。设dp[i][j]为从第i堆石头合并到第j堆石头的最小代价。
2023-11-05 16:40:59 53 1
原创 最大字段和问题分治算法
分治法通过将原问题分解成多个规模大致相同的子问题,再将子问题分解为更小的子问题,直到所得到的子问题能够直接求解为止,最后将子问题的解合并,得到原问题的解。把原问题分解为2个子问题,分解子问题时间复杂度为O(1),情况一与情况二合并子问题时间复杂度为2T(n/2),情况三为O(n),综合下来,时间复杂度为O(nlogn)。if (left==right) //如果序列长度为1,直接求解。//再求解右半部分s2。//情况三,最大字段和分别在左半部分和右半部分各取一部分,先求解左半部分s1。
2023-11-05 00:30:50 290 1
原创 第一章-算法概论心得体会
(3)赋值运算符、关系运算符、算术运算符、逻辑运算符、位运算符,如 =、==、!=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=、>、<=、>、>=、+、-、*、/、%、&、|、&&、||、<<、>>、^ 等双目运算符的前后应当加空格。(3)边写代码边注释,修改代码的同时要修改相应的注释,以保证注释与代码的一致性,不再有用的注释要删除。(4)当代码比较长,特别是有多重嵌套的时候,应当在段落的结束处加注释,这样便于阅读。(1)定义变量后要空行。、~、++、--、-、*、& 等前后不加空格。
2023-09-30 19:53:04 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人