对如下图进行广度和深度遍历;
dfs遍历,(依次输出遍历顶点):
用邻接矩阵存图(用一个二维数组把图存起来)!
#include
#define MAX 9999999//当顶点之间不相通时,标记为一个很大的数
int sum=0;//记录遍历的顶点的个数
int v,s;//顶点数和边数
int book[50]={0},p[30][30];//标记数组和矩阵
void dfs(i...
分类:
其他好文 时间:
2015-04-21 20:49:33
阅读次数:
168
1、创建一个文件管理器
NSFileManager *fm = [NSFileManager defaultManager];
2、浅度遍历目录
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
3、深度遍历目录
- (NSArray *)subp...
分类:
其他好文 时间:
2015-04-08 18:16:46
阅读次数:
147
题意:求一个数组中的组合为某个target的所有子数组组合,要求不重复,
思路:先将数组排序,然后按深度遍历的思想对i - > len -1的元素进行遍历
代码如下:
public class Solution {
public List> combinationSum(int[] candidates, int target) {
List> results = n...
分类:
其他好文 时间:
2015-04-07 23:33:43
阅读次数:
325
深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。
当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。
二叉树的深度优先遍历和先序遍...
分类:
其他好文 时间:
2015-03-20 10:57:09
阅读次数:
150
递归实现,深度遍历,记录每一条路径。
class Solution {
public:
int sumNumbers(TreeNode *root) {
if(root==nullptr)
return 0;
vector> result;
vector path;
traverse(root,result,path);
int n=result.size();...
分类:
其他好文 时间:
2015-02-10 13:20:24
阅读次数:
141
题意需要记录所有可能的路径,可以设置一个变量path用于存储每次产生的路径,设置一个变量result存储所有符合条件的路劲。
用递归可以实现,主要注意的问题是:对path路径的pop操作。
方式一:每一次深度遍历之后,得到一条路径,符合条件就压入result中,然后要判断下一天路径。下一条路径是将前一条路径中的最后一个左节点弹出,压入右节点。下面这种方式,就是在寻得叶子节点之后,继续执行叶子节...
分类:
其他好文 时间:
2015-02-09 11:02:18
阅读次数:
120
转自:http://www.blogjava.net/fancydeepin/archive/2013/02/03/395073.html深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索...
分类:
其他好文 时间:
2015-01-30 17:01:47
阅读次数:
173
在Path SUm 1中(http://www.cnblogs.com/hitkb/p/4242822.html)我们采用栈的形式保存路径,每当找到符合的叶子节点,就将栈内元素输出。注意存在多条路径的情况。 public List> pathSum(TreeNode root, int sum) {...
分类:
编程语言 时间:
2015-01-23 10:59:47
阅读次数:
149
#include #include #include #include #include using namespace std;typedef struct node{ char ch; struct node *ll; struct node *rr;}Binode, *Bit...
分类:
其他好文 时间:
2014-12-23 13:54:43
阅读次数:
107