① 数据结构深度优先遍历:
图的深度优先遍历类似于树的前序遍历。首先访问出发点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。
这里刚好一次就全部遍历了,要是没有下一个点的话,还要回到上一个点,继续查找其它点。以此类推。
希望我的回答对您有帮助~如果有不清楚的可以继续问我。
② 数据结构 深度优先遍历
我帮你复习一下图的知识:
深度优先遍历:
深度优先就是从树的某个节点开始搜索,查看它所有的领结点,如果这个邻接点的无其他邻接点,则忽略该节,再次访问下个节,以此类推,一直到访问到的邻接点再没有其它的邻接点为止,这个节点就是开始,然后依此回退。访问中要将访问过的节点作标记。
广度优先遍历:
广度优先就是从树的某个节点开始搜索,将他的所有的节点先用队列机制保存,找完节点后,处理队列中的节点,处理时,如果某个节点又有邻接点就进队列,以此访问完整个树,这个访问相当与二叉树的层次遍历访问。
我的语言表达能力有限,不知能否看懂。
所以这题,依次往下跑,到H时跑不动了,所以H是头,然后到I,依次类推,跟二叉树访问用后续法差不多。
D项很容易得到。
其实这题用排除法,直接选D。
③ 数据结构中"遍历"是什么意思
所谓遍历,是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。
(3)如何选择数据结构的遍历扩展阅读:
树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次。
在数据结构中三种最重要的遍历方式分别称为前序遍历、中序遍历和后序遍历。
以下是三种遍历的方法:
1、中序:若二叉树非空,则依次执行如下操作:
⑴遍历左子树;
⑵访问根结点;
⑶遍历右子树。
2、先序遍历:若二叉树非空,则依次执行如下操作:
⑴ 访问根结点;
⑵ 遍历左子树;
⑶ 遍历右子树。
3、后序遍历:若二叉树非空,则依次执行如下操作:
⑴遍历左子树;
⑵遍历右子树;
⑶访问根结点。
以这3种方式遍历一棵树时,若按访问结点的先后次序将结点排列起来,就可分别得到树中所有结点的前序列表、中序列表和后序列表。相应的结点次序分别称为结点的前序、中序和后序。