图的深度优先搜索遍历算法分析及其应用.pdf
《图的深度优先搜索遍历算法分析及其应用.pdf》由会员分享,可在线阅读,更多相关《图的深度优先搜索遍历算法分析及其应用.pdf(1页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 万方数据4 2青海师范大学学报(自然科学版)2 0 0 7 年#d e I i r 塘t l A L S E OB 0 0 k 皿“s i t e d M A x V E R n 一N u M ;t y p e d e fs m l c te(I 群札o d e i n t 删v e x;e d g e r I o d e*n 既t e d g e;l 幽e n o d e竹p e d e f 吼m c tv a 田0 c I e c h a rd a t a;2 2 构造算法H l 群m l e*6 n 心;v o d e,A d j h S t M A)【一砥一N U M ;t y p
2、e d e fB u c t v e x n o d ev 硎c e 8;i n tv m,e d g e n m;A I m p h;根据上述结构,我们可以构造出建立图G 的邻接表的具体算法v o i dc m 自髀p h(A I G r a p h G)图的邻接表 i n ti,j,k;e(1 群础*8;耐n 耐”以编号为顺序输入顶点信息(每个顶点占两位):”);州i-0;i n;i+)辩a r 武”2 一,E 屿u 8 t i】d 如);A d j l i 8 t i 矗墙t e d g e=n u s E;p 血烈啪入组成边的点对(如:边为(1,2),则输入1 缸,、一);研k=l;k
3、 a d j v=j;s 一 n 麟t e d g e=A d j l i s t L i J 丘玛t e d g e;A d j H s t【i 6 琚t e d 即=s;s=(e d 唧0 d e*)r n a l l o c(s i“e d 鲫0 d e);8 一 喇v e x=i;8 一 I l。吐e d g e=A 由u s t j 6 舟t e d g e;A d j H B t j 矗璐t e d g e=8;根据图的结构建立其所对应的邻接表后,可以用下述算法打印出邻接表v o i d8 1 1 0 w(A L G m p l l G)i n ti;d 培e n o d e*s;
4、B=A d j【j s t L i J 丘碍t e d g e;州i-O;i a d j v e x);8=s 一 删硝铲;Ip 血甙“、矿);I显然,在建立邻接表的过程中,对邻接点的访问是无次序的,所以同。一个图的邻接表表示不唯一如图2 所示是图G 以顶点编号为O,l,2,l3,4,5,6,7 的输入顺序建立的邻接表23 图的D F S 遍历345图的遍历是从图中某个顶点出发,沿着某条搜索路径对图中其它顶6点访问且仅被访问一次通常有两条遍历图的路径:深度优先搜索7(D 印l l lF i I s tS e a r c h)和广度优先搜索(B m d t lF i 璐tS 曲)它们对无向图和有
5、向图均适用3 1 丐遍历的基本思想图2 图G 的邻接表假设初始状态是图中所有顶点未曾被访问,从图中某个顶点v i 出发,访问此顶点,然后依次从V i的未被访问的邻接点出发深度优先遍历图,直至图中所有和v i 有路径的顶点都被访问到为止;若此时 万方数据 万方数据青海师范大学学报(自然科学版)2 0 昕年6 蕊遍历序列结果讨论(1)只给定一个无向图,则以遍历序列不一定唯一从图的某顶点v i 出发进行搜索时,若v i 的邻接点有多个尚未访问,可任选一个访问(2)只有确定了图的邻接表的内容及起始顶点,d f B 遍历序列才能唯一因为邻接表里的邻接点域的内容与建表时的输人次序相关7 基于掘算法的应用(
6、1)求无向图中连通分量的个数求解该问题只要在算法豳扛a 中加入一个计数器戚,每调用一次以后,使c n 加1,最后一t 的值就是无向图中连通分量的个数(2)求解无向图中通过给定顶点v i 的简单回路的算法【3 1从给定的顶点v i 出发进行深度优先搜索,搜索过程中每访问一个顶点,判别它是否为v i,若是,则说明已找到一条回路;否则继续搜索因此,用个顺序栈记录构成回路的顶点序列。把访问顶点的操作改为顶点的人栈,此时若从某一顶点出发搜索完再回溯,则做退栈操作另外再设置一个标志细咀d,其初值为F A I s E,当找到回路后改为T R【I E 综上所述,图的结构比较复杂,在编写图的D F S 算法和程
7、序时,关键要掌握它的遍历思想,并且能使用一些编程技巧和经验对程序进行优化在完全理解D F s 算法的基础上,再去解决有关图的一些问题就显得容易了参考文献:n】严蔚敏,吴伟民数据结构 M】北京:清华大学出版社1 9 9 7:1 6 0-1 7 8 2】胡学钢数据结构算法设计指导 M】北京:清华大学出版杜1 9 盼:1 9 8 _ 2 1 6【3】于硗敏,唐丽用遍历方式求解圈中是否存在回路同题【J】齐齐啥尔大学学报2 瞄2:4 4 4 6A l l a l y s i s 锄dA p p n c a t i 伽F o rD e p l 一6 r s tS e a I I c l l 舢g o r
8、i t l l I l lo fG 阳p h删帆1,胱雠2(1 D e p a】=h n e n to fC 锄”t e r,Q 岫a i d a H t 池咖袱弓i 哆。)(i n i l l g8 1 0 0,c h i I l a;2 D t j p 咖哪to f 日e c 附d cB I g i 肿既i I l ga n dh l f o I T 曲t i 叩S c i 唧e,Q i“g h a iN 出8 l i 如u m v 嗽崎,x i n i n g8 1 0 0 田。a l i n a)A l,s t r a c t:1 K 8 粥册a l y 掰c 蛳血U y t 堆D 印
9、血一6 戚s e a l c hA l 护d t I 皿0 f t l l e G r 丑p h 吐I a t q 5 a I d e d 吐帕呐a-c 咖c yb s t 鼬8 幻r 8 胪g h I l c h l 陀山删曲p 删c I l l 盯既m。q d 鹧,“a I 鲫脚1 a l y 嘲山ew h o l ep I 珥乒锄m a l i z e d i nv c+A t l 出北,i tp 岫c 髂锨I 培印p 幽h 皓e d m t l l i 8 蜊t l l m 1 畸w o r d s:目r a p h;d e p 山一丘m t8 e 呲h;协n e r 曲_ l g;蜊
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度 优先 搜索 遍历 算法 分析 及其 应用
限制150内