首页 > 分享 > 算法导论

算法导论

最新推荐文章于 2024-11-29 22:14:32 发布

gywenjian 于 2018-05-05 10:39:43 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

概念

“发现” : 指节点第一次被访问“时间戳” :对于每个节点u,有两个时间戳u.d , u.f ,分别表示发现节点u和完成对u的邻接链表扫描的时间(即节点u被涂上黑色的时候)。 注意:在 u.d 时刻,节点u被涂上灰色 ;在 u.f 时刻,节点u被涂上黑色。那么在 [u.d , u.f ) 这段时间内,节点u是灰色的。“真后代” :在深度优先搜索森林中,节点u的子孙称为其真后代边的分类 :树边(深度优先森林G.π中的边),后向边(指向祖先节点的边),前向边(指向后代节点的边),横向边(其他所有边,包括同一深度优先树中连接互不为祖先两点的边及连接不同深度优先树的边)。

伪代码(摘自《算法导论》22.3)

DFS(G) for each vertex u ∈ G.V u.color = WHITE u.π = NIL time=0 for each vertex u ∈ G.V if u.color == WHITE DFS-VISIT(G,u)12345678

DFS-VISIT(G,u) time = time + 1 u.d = time u.color = GRAY for each v ∈ G:Adj[u] if v.color == WHITE v.π=u DFS-VISIT(G,v) u.color = BLACK time = time+1 u.f = time1234567891011

运行时间:θ(V+E)

性质

22.6 时间戳关系

u.d<u.f

定理 22.7 括号化定理

在对有向图或无向图 G=(V,E) 进行的任意深度优先搜索中,对于任意两个节点 u 和 v 来说,下面三种情况只有 一种 成立:

区间 [u.d,u.f] 和区间 [v.d,v.f] 完全分离,在深度优先搜索森林中,节点u不是节点v的后代,节点v也不是节点u的后代区间 [u.d,u.f] 完全包含在区间 [v.d,v.f] 内,在深度优先树中,节点u是节点v的后代区间 [v.d,v.f] 完全包含在区间 [u.d,u.f] 内,在深度优先树中,节点v是节点u的后代 推论 22.8 后代区间的嵌套

在有向或无向图G的深度优先森林中,节点v是节点u的真后代当且仅当u.d<v.d<v.f<u.f成立

定理 22.9 白色路径定理

在有向或无向图G=(V,E)的深度优先森林中,节点v是节点u的后代当且仅当在发现节点u的时间u.d,存在一条从节点u到节点v的全部由白色节点所构成的路径。

定理 22.10 无向图的特殊性

在对无向图的深度优先搜索中,每条边要么是树边,要么是后向边

相关知识

园艺专业导论心得体会
林子雨编著《大数据导论》教材官网
奇幻文学导论
【人工智能】基于分类算法的学生学业预警系统应用
美的历程:美学导论
药学导论教案分析.ppt
昆虫分类学导论
向读者推荐:《古植物学——化石植物生物学导论》
药学导论教案.ppt免费全文阅读
科学网—漫谈植物分类学原理(1 导论)

网址: 算法导论 https://m.huajiangbk.com/newsview848537.html

所属分类:花卉
上一篇: python练习(基础篇)
下一篇: PC摄像头=视频+手写板+电子毛