算法
zhoucs86
这个作者很懒,什么都没留下…
展开
-
回溯法--例子
一句话开场:回溯法就是对隐式图的深度优先搜索bool finished = FALSE; /* 是否获得全部解? */backtrack(int a[], int k, data input){ int c[MAXCANDIDATES]; /*这次搜索的候选 */ int ncandidates; /* 候选数目 */ int i; /* counter */...原创 2019-02-06 22:15:26 · 470 阅读 · 0 评论 -
树遍历
public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNod...原创 2019-02-27 23:44:33 · 303 阅读 · 1 评论 -
一个动归的例子--最长递增子序列(Longest Increasing Subsequence,lis)
难度评级:★ 对于一个序列如1,-1,2,-3,4,-5,6,-7,其最长第增子序列为1,2,4,6。解法: 除了利用3中lcs来求解,这里使用求解lis问题的专门方法。 先看看如何确定子结构的表示。对于长度为k的序列s[1...k],如果用lis[k]记录这个序列中最长子序列似乎没什么用,因为在构造lis[k+1]时,需要比较s[k]与前面长度为lis[k]的lis的最后...原创 2019-02-13 09:39:23 · 163 阅读 · 0 评论 -
回溯法经典
public List<List<Integer>> permute(int[] nums) { List<List<Integer>> list = new ArrayList<>(); // Arrays.sort(nums); // not necessary backtrack(list, new ArrayL...原创 2019-04-17 00:36:31 · 92 阅读 · 0 评论