连通个数问题:https://nanti.jisuanke.com/t/43374 ...
分类:
其他好文 时间:
2020-02-29 20:34:12
阅读次数:
57
内心OS:这道题是去年准备HD复试时,我用来练习DFS的。现在再做这道题,感触颇深,唉,时光蹉跎,物是人非啊~~ 题目: 你有一张某海域NxN像素的照片,”.”表示海洋、”#”表示陆地,如下所示: ……. .##…. .##…. ….##. ..####. …###. ……. 其中”上下左右”四个方 ...
分类:
其他好文 时间:
2020-02-28 11:43:38
阅读次数:
68
题目: 有n件物品,每件物品的重量为w[i],价值为c[i]。现在需要选出若干件物品放入一个容量为 V 的背包中,使得在选入背包的物品重量之和,不超过容量V的前提下,让北欧保重物品的价值之和最大,求最大价值。(1<=n<=20) 输入格式: 第一行要求给出 N个物品(1<=N<=20),和容量V; ...
分类:
其他好文 时间:
2020-02-26 23:02:41
阅读次数:
139
https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/submissions/ 常规解法: 递归实现,迭代实现 111. Minimum Depth of Binary Tree class Solution { public ...
分类:
其他好文 时间:
2020-02-26 01:16:19
阅读次数:
91
概念: 割点:在一个无相连通图中,如果删除某个顶点后,图不再连接(即任意两点之间不再相互到达),我们称这样的顶点为割点(或者称为割顶)。 思考: 很容易想到的方法是:以此删除每个顶点,然后用深度优先搜索或者广度优先搜索来检查图是否依然连通。如果删除某个顶点后,,导致图不再联通,那么刚才删除的顶点就是 ...
分类:
其他好文 时间:
2020-02-20 19:59:09
阅读次数:
109
深度优先搜索的定义 即深度优先是在遍历节点时,以深度为优先,先将一条路遍历完,之后再去遍历别的路。 深度优先的代码框架: 1 /*深度优先*/ 2 3 bool Dfs(V){ 4 if(V为终点) 5 return true; 6 if(v为旧点) 7 return false; 8 将v标记为旧 ...
分类:
其他好文 时间:
2020-02-18 18:44:30
阅读次数:
112
题目大意:规定 i 为入栈,o 为出栈,现在给两个字符串st1,st2,现在要将st1转化为st2,转化方法是,st1中字符从头开始入栈,并合理出栈构造出st2。请输出所有可能的出入栈步骤。 深度优先搜索+回溯~ #include<bits/stdc++.h> using namespace std ...
分类:
其他好文 时间:
2020-02-15 11:47:10
阅读次数:
53
N皇后问题是非常经典的一道问题,解题的方法也有很多,非常经典包括暴力回溯法。 DFS就是深度优先搜索的首字母,简单理解就是把所有可能是答案的结果都尝试一遍,用走迷宫来举例子的话就是一条路走到黑,如果走到死路了,再退回上一个分岔口选择另一条路继续一条路走到黑。 属于入门时非常常用的暴力算法,考察的知识 ...
分类:
编程语言 时间:
2020-02-12 16:26:00
阅读次数:
107
此篇文章为实现《算法》一书中提到的大部分无向图算法,分为多篇, 即多个Java文件,可以直接复制,便于学习; 第三篇,java无向图的类实现,此篇主要列出实现的方法,需要参考其他类中方法(后续实现); 参考链接:https://www.cnblogs.com/xiaohuiduan/p/113522 ...
分类:
其他好文 时间:
2020-02-11 11:32:41
阅读次数:
69
一个n*n的国际象棋棋盘上放置n个皇后,这n个皇后两两均不在同一行、同一列、同一对角线上,求合法的方案数。 需要一层一层的搜索,因此采用深度优先搜索思想。 思考:n*n棋盘可用二维数组表示。已知约束条件:皇后均不在同一行、同一列、同一对角线上。 故编码寻找数学关系表达式。 解题一:考虑到每行只能放一 ...
分类:
其他好文 时间:
2020-02-11 10:02:47
阅读次数:
75