Warning: session_start(): open(/tmp/sess_b42a2c59ddd131eea7c0b23957961c8d, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: mkdir(): No space left on device in /data/wiki/lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Cache.php on line 19
Temporary files directory "/data/wiki/data/tmp/dwpdf/112/" is not writable
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:namespace:kongyou:深度优先搜索 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:namespace:kongyou:深度优先搜索

深度优先搜索(DFS)

过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次.

深度优先搜索的特点:每次深度优先搜索的结果必然是图的一个连通分量.深度优先搜索可以从多点发起.如果将每个节点在深度优先搜索过程中的“结束时间”排序(具体做法是创建一个list,然后在每个节点的相邻节点都已被访问的情况下,将该节点加入list结尾,然后逆转整个链表),则我们可以得到所谓的“拓扑排序”,即topological sort.

深度优先遍历图的方法是,从图中某顶点v出发:

1.从根节点开始

2.放入一个节点(起始时放入的为根节点)

3.如果这个节点是第一次出现,则放入堆栈中

4.判断该节点的子节点是否搜索完成,

        a.如果是则将该节点出栈,判断该栈是否为空

             a.1 若为空则结束

            a.2 若不为空则取栈顶元素,并回到第2步

        b.如果没有完成搜索,取未被搜索的根节点,并回到第2步

 

2020-2021/teams/namespace/kongyou/深度优先搜索.1589599422.txt.gz · 最后更改: 2020/05/16 11:23 由 kongyou