图的深度/广度遍历

freeflying1222 2008-10-30 07:43:41
一个有向图的邻表表示如下
V1--2--4--6
V2--3--5--4
V3--8
V4--5
V5--3--7
V6--5--7
V7--8
V8
求从V1到V8的深度和广度遍历。

先说深度:
我觉得对的应该是:V1-V2-V3-V8-V4-V5-V7-V6(至少应该没错,是其中的一种吧)
但答案是V1-V2-V3-V8-V5-V7-V4-V6

广度
我觉得是:
V1-V2-V4-V6-V5-V3-V7-V8
但答案是
V1-V2-V4-V6-V3-V5-V7-V8

极度郁闷~~


...全文
428 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tailzhou 2008-10-31
  • 打赏
  • 举报
回复
"V3已经访问过了,接下来的V4、V5可以任选其一访问吧?"

不是这样的;是按照v4,v5在v2的邻接表中的顺序来的;

V5在V4的前面,当然先访问V5;

如果不按照顺序来,就很难知道下一个要访问的邻接节点是哪一个,总不能每次从头到尾扫描一遍来找吧;
lemoner2003 2008-10-31
  • 打赏
  • 举报
回复
深度遍历结果不只一种的
tailzhou 2008-10-31
  • 打赏
  • 举报
回复
图的深度遍历结果当然不只有一种;

首先可以从不同的节点开始遍历,即起始节点可以不同;

另外,图的表示方式也可以不同;
比如:
V1--2--4--6
也可以表示成
V1--6--2--4;
还是同一个图,但先后次序已经变了;

其实深度遍历并没有要求先后顺序,但对某一指定的表的邻表表示来说,一般是按照顺序来遍历的,这样实现简单;
freeflying1222 2008-10-31
  • 打赏
  • 举报
回复
这最后一个疑点排除后结账!哈哈
freeflying1222 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tailzhou 的回复:]
"V3已经访问过了,接下来的V4、V5可以任选其一访问吧?"

不是这样的;是按照v4,v5在v2的邻接表中的顺序来的;

V5在V4的前面,当然先访问V5;

如果不按照顺序来,就很难知道下一个要访问的邻接节点是哪一个,总不能每次从头到尾扫描一遍来找吧;
[/Quote]

如果是按顺序来的话,图的深度遍历结果必然只有一种哟?
但书上写的是会有很多种呀?

现在我能看懂2楼的回复了。呵呵

这种优先级是题目隐含的?

freeflying1222 2008-10-30
  • 打赏
  • 举报
回复
哇,非常感谢楼上的。
广度我想通了,之前看掉了V6;
但深度我还是有疑惑:
从V8回溯一直到V2都没问题,
但V2有3个邻接点:V3、V4、V5
V3已经访问过了,接下来的V4、V5可以任选其一访问吧?
如果选V4,就会成为
V1-V2-V3-V8-V4-V5-V7-V6(错了么?)
如果选V5,就会成为
V1-V2-V3-V8-V5-V7-V4-V6(这个我也觉得是对的)
tailzhou 2008-10-30
  • 打赏
  • 举报
回复
深度:若当前节点有尚未访问过的邻接节点,这继续访问其尚未访问过的邻接节点;否则回溯到上级节点;
V1-V2-V3-V8
v8后先回溯到V3,由于V3的邻接节点已遍历完毕,
再回溯到V2,由于V2的邻接接点尚未遍历完毕,所以遍历V2的下一个领接节点V5;


广度:首先访问起始节点,然后访问距离起始节点为1的所有节点;然后是访问距离起始节点为2的所有节点....
V1-V2-V4-V6; 距离起始节点v1为1的所有节点已经访问完毕,然后是访问距离起始节点v1为2的所有节点;
先访问V2的直接邻接节点V3以及V2的其他接邻接节点,然后是V4的直接邻接节点,V6的直接邻接节点;
再后先访问V3的直接邻接节点V8....;
freeflying1222 2008-10-30
  • 打赏
  • 举报
回复
没人知道么?
freeflying1222 2008-10-30
  • 打赏
  • 举报
回复
不解楼上,呵呵
oo 2008-10-30
  • 打赏
  • 举报
回复
V2--3--5--4

看这么理解这个了,V1-V2后也可以直接V4了

也许题目的隐含要求就是同一个节点下有多个节点时按列出的顺序来排访问优先级
freeflying1222 2008-10-30
  • 打赏
  • 举报
回复
补充一下:
深度:
先一直走到V8,然后回溯,V8-V3-V2,直到V2,V2-V4-V5,最后V6,应该没错呀!
广度:
V3-V8;V5-V7
哪里有错呢?

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧