当前位置: 首页 > news >正文

网站下载不了的视频怎么下载长春网站公司哪家好

网站下载不了的视频怎么下载,长春网站公司哪家好,武威市建设局网站,国内10大猎头公司排名Tarjan 用于在有向图中查找强连通分量的算法介绍 Tarjan算法是一种用于在有向图中查找强连通分量的高效算法#xff0c;由Robert Tarjan在1972年提出。强连通分量是指在有向图中#xff0c;如果从顶点u到顶点v以及从顶点v到顶点u都存在一条路径#xff0c;那么顶点u和顶点v…Tarjan 用于在有向图中查找强连通分量的算法介绍 Tarjan算法是一种用于在有向图中查找强连通分量的高效算法由Robert Tarjan在1972年提出。强连通分量是指在有向图中如果从顶点u到顶点v以及从顶点v到顶点u都存在一条路径那么顶点u和顶点v是强连通的。这些顶点组成的集合被称为强连通分量Strongly Connected Component简称SCC。 Tarjan算法的核心思想是通过深度优先搜索DFS遍历图并使用堆栈来追踪搜索过程中的顶点。在遍历的过程中对每个顶点进行标记记录其在搜索树中的深度和最小后向边的深度。如果发现某个顶点的后继节点指向了一个已经被访问过的顶点并且这个顶点在当前的DFS搜索树中即它还在栈中那么这个顶点及其所有后继节点在栈中且未被处理为其他强连通分量的部分构成一个强连通分量。 Tarjan算法中最重要的两个数组是low[maxn]和dfn[maxn] low[u]代表u可以到达的深度最低的节点的深度值即u能追溯到的最早被访问到的节点的时间戳。 dfn[u]代表u在DFS树中的深度即u被访问时的时间戳。 算法的基本步骤如下 初始化所有顶点的dfn和low值为未定义通常可以设为无穷大或特定标记。 对每个未访问的顶点v进行DFS遍历。 将v标记为已访问并将其dfn[v]和low[v]设置为当前时间戳。 将v压入栈中。 遍历v的所有邻接点w。 如果w未访问过则递归地对w进行DFS并在返回后更新low[v]为min(low[v], low[w])。 如果w已访问过且在栈中即w是v的后继节点且尚未被处理为其他强连通分量的部分则更新low[v]为min(low[v], dfn[w])。 如果dfn[v] low[v]则栈中从v到栈顶的所有顶点构成一个强连通分量将它们弹出栈并标记为同一个强连通分量。 Tarjan算法的时间复杂度为O(V E)其中V表示图中的顶点数E表示图中的边数。由于只需要一次DFS遍历即可找到所有的强连通分量因此Tarjan算法是一种高效的强连通分量查找算法。 以上是对Tarjan算法用于在有向图中查找强连通分量的简要介绍。如需更详细的信息或示例代码请参考相关算法书籍或在线资源。 Tarjan 用于在有向图中查找强连通分量的算法python实现样例 以下是Python中实现Tarjan算法查找强连通分量的示例代码 class Tarjan:def __init__(self, graph):self.graph graphself.num_nodes len(graph)self.index 0self.lowlink [0] * self.num_nodesself.on_stack [False] * self.num_nodesself.stack []self.scc []def tarjan_scc(self):for i in range(self.num_nodes):if self.lowlink[i] 0:self.strong_connect(i)return self.sccdef strong_connect(self, v):self.index 1self.lowlink[v] self.indexself.stack.append(v)self.on_stack[v] Truefor w in self.graph[v]:if self.lowlink[w] 0:self.strong_connect(w)self.lowlink[v] min(self.lowlink[v], self.lowlink[w])elif self.on_stack[w]:self.lowlink[v] min(self.lowlink[v], self.lowlink[w])if self.lowlink[v] self.index:scc_component []while True:w self.stack.pop()self.on_stack[w] Falsescc_component.append(w)if w v:breakself.scc.append(scc_component)使用示例 # 创建有向图的邻接表表示 graph [[1],[2],[0, 3],[4],[5],[3] ]# 创建Tarjan对象 tarjan Tarjan(graph)# 调用tarjan_scc方法查找强连通分量 scc tarjan.tarjan_scc()# 输出强连通分量 for component in scc:print(component)输出结果 [0, 1, 2] [3] [4, 5]以上代码实现了Tarjan算法用于在有向图中查找强连通分量。算法首先初始化相关数据结构包括索引、低链接、栈等。然后按照Tarjan算法的步骤进行深度优先搜索并在搜索过程中记录每个节点的索引和低链接值。当找到一个强连通分量时从栈中弹出节点直到找到当前节点为止并将这些节点组成一个强连通分量。最终算法返回所有的强连通分量。
http://www.w-s-a.com/news/436068/

相关文章:

  • 怎么在自己的网站加关键词烟台企业网站建设
  • 中山网站建设界面设计职业技能等级证书
  • 做网站首页多少钱免费版企业邮箱注册
  • ppp模式在网站建设的南昌专业做网站公司哪家好
  • 泰安网站建设制作电话号码百度sem竞价托管公司
  • 苏网站建设网页设计和网页美工
  • 跨境电商平台网站广州地铁站路线图
  • 吉林省交通建设集团有限公司网站企业网站推广的策略有哪些
  • 网站内链怎么做更好郑州网站建设哪家便宜
  • 建设大型购物网站运城哪里做网站
  • php企业网站通讯录管理系统做网站在线支付系统多少钱?
  • 怎么区分用vs和dw做的网站贝贝网网站开发背景
  • 无锡网站建设制作建设信息网查询
  • 彩票系统网站开发建设人力资源网官网
  • 有专门下载地图做方案的网站吗网站建设平台计划书
  • 网站闭站保护10个著名摄影网站
  • 安徽省建设工程信息网官网首页网站关键词排名优化工具
  • 深圳网站建设 百业网站专题教程
  • 公司seo是指什么意思如何来做网站优化
  • 化妆品网站建设平台的分析湖南网站搜索排名优化电话
  • 织梦网站修改教程视频教程管理类网站开发价格
  • 如何让新网站快速收录企业建站的作用是什么
  • 在线制作简历的网站做的最好的微电影网站
  • h5制作的网站网络游戏投诉平台
  • 做外贸网站好还是内贸网站好珠海新盈科技有限公 网站建设
  • php和网站开发网络软营销
  • 大型做网站的公司有哪些wordpress注册链接无效
  • 推荐门户网站建设公司网站开发移动端
  • 公司网站的栏目设置成都十大监理公司排名
  • 安溪住房和城乡建设网站关岭县建设局网站