对图论dfs的思考。
图论dfs可以说主宰了图论的大部分题目,所以对于他的理解非常重要:
深度优先遍历就如他的名字所说:只要可能,就在图中尽量深入,深度优先搜索总是对最近被发现的点最近发现的节点v出发进行搜索。直到该点的出发边都被发现为止,搜索则回到前驱节点,(v是由这个点发现的),在搜索其前驱节点的边,重复该过程直到源点所有出发边都被发现完,如果有节点没有被发现,则以这个点为开头,继续搜索。
在进行深度优先遍历时,我们对其节点进行涂色,开始,所有点都为白色,然后一旦被发现,即进栈,变成灰色,然后经过遍历,当其所有边都访问完毕时,退栈,变成灰色。
还有,在进行遍历时,我们要对图的每个节点盖上时间戳,每个节点有两个时间戳,v.d表示其变成灰色的时间,及进栈的时间,v.f表示其变成黑色的时间,即出栈的时间。这两个时间戳提供了图结构的重要信息,非常重要,可以帮助推断图的行为。
很显然,如果一个图有n个点,那么时间戳一定为1——2n之间的整数。且u.d<u.v;
夫君子之行,
静以修身,俭以养德;
非澹泊无以明志,
非宁静无以致远。
夫学须静也,才须学也;
非学无以广才,非志无以成学。
慆慢则不能励精,
险躁则不能冶性。
年与时驰,意与日去,
遂成枯落,多不接世。
悲守穷庐,将复何及!