原题链接: "https://leetcode.com/problems/n queens/description/" 这道题目就是由鼎鼎大名的八皇后问题延伸而来的 n 皇后问题,我看的《数据结构(C语言版)》上面树章节里面也提到了这个问题,说是使用典型的回溯法。这道题目本身我是没有想出解法的,官方 ...
分类:
其他好文 时间:
2018-03-07 19:01:28
阅读次数:
130
原题链接: "https://leetcode.com/problems/word search/description/" 做完上一题: "212. Word Search II" ,我就知道有二必有一,那么再做这第一道题目就太简单了,不废话思路是一样的还是回溯法: Java class Solu ...
分类:
其他好文 时间:
2018-03-07 15:04:19
阅读次数:
122
一、题目 : 分别用蛮力法、动态规划法、回溯法和分支限界法求解0/1背包问题。 注:0/1背包问题:给定种物品和一个容量为的背包,物品的重量是,其价值为,背包问题是如何使选择装入背包内的物品,使得装入背包中的物品的总价值最大。其中,每种物品只有全部装入背包或不装入背包两种选择。 二、所用算法的基本思 ...
分类:
其他好文 时间:
2018-03-06 21:42:11
阅读次数:
243
题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家 ...
分类:
其他好文 时间:
2018-03-06 00:59:00
阅读次数:
222
题目描述: Subset Sum Tags: 回溯 子集和问题的一个实例为〈 S,t 〉。其中,S={x1 ,x2 ,…, xn }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得x1+x2+...+xk=S, 其中x1,x2...xk属于集合S1。 对于给定的正整数 ...
分类:
其他好文 时间:
2018-03-04 19:02:44
阅读次数:
128
分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并 ...
分类:
编程语言 时间:
2018-03-04 18:09:11
阅读次数:
186
回溯法解题的关键要素 回溯法解题的关键要素 确定了问题的解空间结构后,回溯法将从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。开始结点成为活结点,同时也成为扩展结点。在当前的扩展结点处,向纵深方向搜索并移至一个新结点,这个新结点就成为一个新的活结点,并成为当前的扩展结点。如果在当前的扩展结 ...
分类:
编程语言 时间:
2018-03-04 11:50:34
阅读次数:
305
所谓DFS就是“不撞南墙不回头”的一种搜索。其时间复杂度为O(V+E)。 能算出从起点到终点的全部路径,在算法执行的过程中需要一个visit[vi]数组来维护每个结点的访问情况,这样就能避免重复访问。但需要注意的是对于同一起点到同一终点有多条路径的时候,每次递归回溯时要重置visit[vi]的状态。 ...
分类:
其他好文 时间:
2018-03-03 19:32:41
阅读次数:
173
题目传送门 题目大意:有F组数据,N表示有N点,M表示有M条边,走一遍边需要花费Ti个时间,还有W个虫洞,可以向前回溯Ti时间,求能否从1点出发,经过一些路或虫洞回到1点后时间为负。 建图后用SPFA判负环即可。 code: ...
分类:
其他好文 时间:
2018-03-03 18:22:39
阅读次数:
172
算法知识目录整理 1. 算法部分 二分搜索 Binary Search 分治 Divide Conquer 宽度优先搜索 Breadth First Search 深度优先搜索 Depth First Search 回溯法 Backtracking 双指针 Two Pointers 动态规划 Dyn ...
分类:
编程语言 时间:
2018-03-02 23:54:12
阅读次数:
206