图的遍历和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历(Traverse Graph)。 图的遍历方法一般有两种,第一种是深度优先遍历(Depth First Search),也有称为深度优先搜索,简称为DFS。第二种是《广度优先遍历( ...
分类:
其他好文 时间:
2018-02-26 11:28:40
阅读次数:
174
堆栈的访问规则被限制为Push和Pop两种操作,Push(入栈或压栈)向栈顶添加元素,Pop(出栈或弹出)则取出当前栈顶的元素,也就是说,只能访问栈顶元素而不能访问栈中其它元素。 现在我们用堆栈解决一个有意思的问题,定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0 ...
分类:
其他好文 时间:
2018-02-26 11:13:07
阅读次数:
181
深度优先搜索的图文介绍 1. 深度优先搜索介绍 图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。 它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通 ...
分类:
其他好文 时间:
2018-02-24 11:47:56
阅读次数:
169
这几天,我自学了基础的树形DP,在此给大家分享一下我的心得。 首先,树形DP这种题主要就是解决有明确分层次且无环的树上动态规划的题。这种题型一般(注意只是基础、普通的情况下)用深度优先搜索来解决实际的DP部分,而且一般用记忆化搜索,因为树会有重复遍历节点的情况。在一棵树上针对普遍子树都满足根节点与两 ...
分类:
其他好文 时间:
2018-02-16 16:35:42
阅读次数:
189
搜索是什么? 1.问题全状态空间 2.搜索空间 3.解路径 分类 一,盲目搜索(只是搜索的顺序不同) 1.深度优先搜索 2.宽度优先搜索 二,启发式搜索 A*算法 分类来讲 1.深度优先搜索 例题:皇后问题 存在的问题:1.深度问题,2.死循环问题 解决办法:1.对搜索深度加以限制 2.记录从初始状 ...
分类:
其他好文 时间:
2018-02-07 21:17:16
阅读次数:
164
深度优先搜索: DFS是一个递归的过程,算法思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述 ...
分类:
其他好文 时间:
2018-02-03 20:00:00
阅读次数:
133
Runtime Error了一发,原来是把solve函数写进了while(T--){} 里面了,哎,粗心! 深度优先搜索,比较重要的部分就是要接着上一次的状态 ...
分类:
其他好文 时间:
2018-01-28 11:18:29
阅读次数:
147
设想我们现在身处一个巨大的迷宫中,我们只能自己想办法走出去,下面是一种看上去很盲目但实际上会很有效的方法。 以当前所在位置为起点,沿着一条路向前走,当碰到岔道口时,选择其中一个岔路前进。如果选择的这个岔路前方是一条死路,就退回到这个岔道口,选择另一个岔路前进。如果岔路口存在新的岔道口,那么仍然按上面 ...
分类:
其他好文 时间:
2018-01-25 13:03:38
阅读次数:
185
转自 基于R-Tree的最近邻查询 BAB(Branch.and.Band)算法是由Nick Roussopoulousnl等人于1995年提出的,是最早的基于R.树的静态最近邻查询算法。该算法使用MINDIST和MINMAXDIST两个距离作为查询过程中的判断条件,对R树进行深度优先 搜索以查找最 ...
分类:
其他好文 时间:
2018-01-22 11:02:08
阅读次数:
225
一、图的深度优先概述 图,就是由一些小圆点(称为顶点)和连接这些小圆点的直线(称为边)组成的。例如: 上图是由五个顶点(编号为1、2、3、4、5)和五条边(1-2、1-3、1-5、2-4、3-5)组成。 现在我们从1号顶点开始遍历这个图(遍历指的是把每一个顶点都访问一次)。使用深度优先搜索来遍历这个 ...
分类:
其他好文 时间:
2018-01-11 19:17:29
阅读次数:
193