![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
成狗先生
要对象吗 我给你new一个
展开
-
算法 --- 回溯算法
回溯法回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试1、有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法2、回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题3、回溯法在问题的解空间树...原创 2019-07-18 17:45:43 · 900 阅读 · 0 评论 -
回溯算法 --- 子集树(打印一个数组的所有子集 0/1背包 装载问题)
子集树就是代表了一类问题的解空间,当所给问题是从n个元素的集合S中找出S满足某种性质的子集时,相应的解空间称为子集树。例如:n个物品的0-1背包问题/装在问题所对应的解空间是一棵子集树,这类子集树通常有2^n个叶结点,时间复杂度为O(2^n)子集树的思想为深度优先算法,从根节点出发,不断访问符合条件的子节点,(如果不符合则进行剪枝并访问该节点的兄弟节点),当访问到叶节点的时候,进行输出或...原创 2019-07-18 20:04:08 · 1106 阅读 · 0 评论 -
动态规划面试题(最大字段和/三角数组最大和/LIS最长非降子序列/LCS最长(连续/非连续)公共子序列)
1.最大字段和描述:给定n个整数(可能为负数)组成的序列 a[1],a[2],a[3]... ,a[n],求该序列如a[i]+a[i+1]+... +a[j]的子段和的最大值。 当所给的整数均为负数时定义子段和为0,如果序列中全部是负数则最大子断和为0,依此定义,所求的最优值为Max{0,a[i]+a[i+ 1] +....+a...原创 2019-07-29 00:41:53 · 705 阅读 · 0 评论 -
算法 --- 动态规划(硬币问题)
算法描述通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。基本思想若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接...原创 2019-07-22 12:27:33 · 10779 阅读 · 0 评论