数据结构深度优先遍历:

设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为( )。
(A)abedfc (B) acfebd (C) aebdfc (D) aedfcb

图的深度优先遍历类似于树的前序遍历。首先访问出发点a,并将其标记为已访问过;然后依次从a出发搜索a的每个邻接点b,c,e。若b未曾访问过,则以b为新的出发点继续进行深度优先遍历,直至图中所有和源点a有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。
所以从a出发,找a的下一个点,a下一个点有b、c、e,首先到b,再以b为源点,再看b有没有下一个点,发现b的下一个点是e,再以e为源点,e的下一个点是d,再以d为源点,下一个点是f,再以f的下一个点是c。
这样全部的点都得到了,该序列就是该图的深序优先遍历。即abedfc,选A。
这里刚好一次就全部遍历了,要是没有下一个点的话,还要回到上一个点,继续查找其它点。以此类推。
希望我的回答对您有帮助~如果有不清楚的可以继续问我。

参考资料:by 5220

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-29
A

数据结构之深度优先遍历
深度优先遍历(Depth First Traversal) 首先访问出发点v 并将其标记为已访问过 然后依次从v出发搜索v的每个邻接点w 若w未曾访问过 则以w为新的出发点继续进行深度优先遍历 直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止 若此时图中仍有未访问的顶点 则另选一个尚...

数据结构 深度优先遍历
深度优先遍历:深度优先就是从树的某个节点开始搜索,查看它所有的领结点,如果这个邻接点的无其他邻接点,则忽略该节,再次访问下个节,以此类推,一直到访问到的邻接点再没有其它的邻接点为止,这个节点就是开始,然后依此回退。访问中要将访问过的节点作标记。广度优先遍历:广度优先就是从树的某个...

数据结构深度优先遍历:
图的深度优先遍历类似于树的前序遍历。首先访问出发点a,并将其标记为已访问过;然后依次从a出发搜索a的每个邻接点b,c,e。若b未曾访问过,则以b为新的出发点继续进行深度优先遍历,直至图中所有和源点a有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,...

理解深度优先遍历与广度优先遍历
什么是深度优先遍历深度优先遍历就是当我们搜索一个树的分支时,遇到一个节点,我们会优先遍历它的子节点,直到最后根节点为止,最后再遍历兄弟节点,从兄弟子节点寻找它的子节点,直到搜索到最后结果,然后结束。首先我们从上面一段话中,我们知道遍历的对象是树,树是一种数据结构,我们在js中可以模拟它...

数据结构 深度优先遍历和广度
深度优先遍历:从给定结点出发,选取它的邻接结点中某个未被访问的结点访问。被访问的结点成为新的给定结点。重复上述过程,直到当前结点没有未被访问的邻接结点。接着开始回溯,返回上一次访问的结点继续寻找其未被访问的邻接结点,直至完成遍历。广度优先遍历:从给定结点出发,依次访问它的所有邻接结点。

关于数据结构的深度优先遍历和广度优先遍历以及最小生成树 第四大题的...
深度优先遍历从某个顶点出发,首先访问这个顶点,然后找出刚访问这个结点的第一个未被访问的邻结点,然后再以此邻结点为顶点,继续找它的下一个新的顶点进行访问,重复此步骤,直到所有结点都被访问完为止。广度优先遍历从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后...

数据结构 第二小题基于邻接矩阵求从顶点B出发的深度优先遍历...
如果邻接矩阵的顶点与下标已经固定,起点也已经固定,则深度优先遍历唯一,因为这是程序的执行结果,不是人在上面看 遍历的方法就是如同程序执行一样,在每个顶点的行上往后扫描,如果有一个没访问,就继续深度优先遍历 就这个图的邻接矩阵而言,从B出发深度优先遍历的结果就是BECFDA ...

数据结构问题 首先将如下图所示的无向图给出其存储结构的邻接链表表示...
【1】接邻链表大概是这么表示 1→2→3→4→NULL 2→5→6→NULL 3→7→8→NULL 4→NULL 5→9→NULL 6→9→NULL 7→9→NULL 8→9→NULL 4→NULL 【2】深度优先遍历:1、2、5、9、6、3、7、8、4 【3】广度优先遍历:1、2、3、4、5、6、7、8、9 ...

数据结构问题:图的深度优先遍历中有递归的应用,要用到栈,图中顶点是...
接下来 深度优先搜索(dfs)本身就是靠函数递归调用实现的。对于一个图来说,是由结点和边构成的, 在存储时就需要用到 struct node { int data;struct node * next[CNT];} 上边只是一种简单的定义,对一个结点来说主要就是2部分, 一为它所存的数据是什么(数据域),二为它能指向哪些其它的...

数据结构深度优先遍历
楼主看一下左边的图,这个图就是题中的连通图G。(A)a->b,b->e,e->d,d->f,f->c都是有边的,而且是走的通的。(B)f->e,没有边,B错误(C)b->d,没有单独的边,走不通,所以C错误(D)c->b走不通,D错误的 画图演示好辛苦内(>_<)...

相似回答