SCC

村田陀螺仪SCC2000/3000漫谈 根据村田muRata陀螺仪手册,对于SCC2000/3000的具体控制与功能展开分析。 阅读详情

注:大部分参见百度百科。

在有向图G中,如果两个顶点vi,vj间有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。

主要有三个算法。他们基于一个定理

定理:在任何DFS中,同一SCC内的所有顶点均在同一棵深度优先树中。

该定理说明了强连通分量一定是有向图的某个深搜树子树。那么要找到一个分量,只要找到树根( 连接不同分量的桥的前端顶点) ,然后取出其所属分量的顶点即可。

1. Kosaraju算法(也就是clrs中的算法)   //时间代价O(E+V)

  step1:对原图G进行深度优先遍历,记录每个节点的离开时间。

  step2:选择具有最晚离开时间的顶点,对反图GT进行遍历,删除能够遍历到的顶点,这些顶点构成一个强连通分量。

  step3:如果还有顶点没有删除,继续step2,否则算法结束。

2. Tarjan算法:DFS+堆+标记      //时间代价O(E+V) 

根据白色路径引理,Tarjan确实能在线性时间内完成任务。

stack s;
graph G;
int dex;
tarjan(结点 u){
    low(u) = dfu[u] = ++dex;       //dfu[i]为节点i搜索的次序编号,low[i]为i或i的子树能够追溯到的最早的栈中节点的次序编号
    u入栈;
    for (每一个 结点u 能到达的 结点v){
        if( 没有被搜到){
            tarjan(v);
            low[u] = min(low[u],low[v]);
        }
        else 
            low[u] = min(low[u],dfu[v]); 
    }
    if (low[u] == dfu[u])          //当dfu(i)=low(i)时,以i为根的搜索子树上所有节点是一个强连通分量。
    出栈直到元素为u;                 //标记层数cnt,记录i所属连通分支SCC[i]均在这里操作
}

其一个实现参考博文《Poj-2186“Popular Cows” && poj2553"The Bottom of A Graph"》

3. Gabow算法:DFS+堆+堆         //时间代价O(E+V)

这个算法其实就是Tarjan算法的变异体,我们观察一下,只是它用第二个堆栈来辅助求出强连通分量的根,而不是Tarjan算法里面的 dfu[ ] 和 low[ ] 数组。那么,我们说一下如何使用第二个堆栈来辅助求出强连通分量的根。

我们使用类比方法,在Tarjan算法中,每次low[i]的修改都是由于环的出现(不然,low[i]的值不可能变小),每次出现环,在这个环里面只剩下一个low[i]没有被改变(深度最低的那个),或者全部被改变,因为那个深度最低的节点在另一个环内。那么Gabow算法中的第二堆栈变化就是删除构成环的节点,只剩深度最低的节点,或者全部删除,这个过程是通过出栈来实现,因为深度最低的那个顶点一定比前面的先访问,那么只要出栈一直到栈顶那个顶点的访问时间不大于深度最低的那个顶点。其中每个被弹出的节点属于同一个强连通分量。那有人会问:为什么弹出的都是同一个强连通分量?因为在这个节点访问之前,能够构成强连通分量的那些节点已经被弹出了,那么Tarjan算法中的判断根我们用什么来代替呢?其实就是看看第二个堆栈的顶元素是不是当前顶点就可以了。

其实Tarjan算法和Gabow算法其实是同一个思想的不同实现,但是,Gabow算法更精妙,时间更少(不用频繁更新low[ ])。

step1: 找一个没有被访问过的节点v,goto step2(v)。否则,算法结束。 
step2(v): 
  将v压入堆栈stk1[]和stk2[] 
  对于v所有的邻接顶点u: 
       1) 如果没有访问过,则step2(u) 
       2) 如果访问过,但没有删除,维护stk2[](处理环的过程) 
  如果stk2[]的顶元素==v,那么输出相应的强连通分量

4. 总结:

Kosaraju算法的第二次深搜隐藏了一个拓扑性质,而Tarjan算法和Gabow算法省略了第二次深搜,所以,它们不具有拓扑性质。Tarjan算法用堆栈和标记,Gabow用两个堆栈(其中一个堆栈的实质是代替了Tarjan算法的标记部分)来代替Kosaraju算法的第二次深搜,所以只用一次深搜,效率比Kosaraju算法要高。

SAP 详细解析SCC4 事务代码:SCC4,选择一个客户端,点击进入,如图:一、客户端角色。 阅读详情

相关推荐

揭秘K8s Pod安全:从SCC的实践到现在的PSA的全面解析

对于和 containerd 类似,通过 Linux namespace 和 Cgroup 实现的一类 容器技术,本质上,容器就是 宿主节点的一个进程,出于安全考虑,最小权限原则,在生产中,很少使用 Root 来运行一些业务进程,即很少通过 根用户 来运行相关容器。避免 特权升级,容器逃逸,以及利用不必要权限来增加意外操作或者恶意行为。

力哥讲技术 1647

智驾功能知识(ACC、LKA、SCC、DCLC、LCC、NOA、RAEB+、AEB-C/P/B、FCW、LDW、IHC、TSR、BSD、DOW、FCTA、RCTA)

L0无驾驶自动化:车辆可能提供有限或短暂的驾驶辅助功能,例如预警/瞬间驾驶辅助;L1驾驶辅助:限定条件下,横向或纵向单一方向持续控制(L1和L2都要求驾驶员保持注意力集中并完全投入);L2部分驾驶自动化:限定条件下,横向和纵向持续控制,技术角度驾驶员可以撒手方向盘(但必须对车辆负责(注意力集中并完全投入);L3有条件驾驶自动化:限定条件下,车辆负责驾驶任务,但驾驶员需要在系统无法执行任务时及时接管控制,驾驶员必须保持注意力在线;

?的博客 1万+

SCC算法求强连通分量简单讲解证明及实现

目录强连通分量SCC算法简介两个概念dfs结束时间转置图SCC算法伪代码描述SCC算法正确性证明引理1:引理2:SCC证明不错找不漏找代码实现 强连通分量 连通分量要求任意两点可达,而强连通分量要求任意两点互相可达,即必须存在a->b且b->a的路径 强连通分量问题就是求解一个图中所有的强连通分量集合。 SCC算法简介 SCC算法在《算法导论》中有介绍到,SCC算法基于dfs,通过两次dfs可以求出图中所有的连通分量,是快速的方法。 在了解SCC算法之前先介绍两个概念 两个概念 dfs结束时间

AKGWSB 's blog 5250

强连通分量的三个求法

这里主要谈及强连通分量(以下简称SCC,strongly connected component)三种常见的求法(以下涉及的图均为有向图),即Kosaraju、Tarjan和Gabow。三种算法背后的基础思想都是DFS,只是它们通过DFS获得了不同的信息。各位大哥大姐继续往下读之前,最好对DFS相关的概念和性质比较熟悉,例如,什么叫做<a title="DFS" href="http://e...

weixin_33972649的博客 356

SCC串口工具

方便使用的串口工具(Commonitor.exe)

gerrit 配置 ----Gitweb集成

此外,为了让用户能够查看任何关于 gitweb 的信息 项目中,用户必须能够阅读所有引用(包括 refs/meta/config,refs/meta/dashboards/*等)。或者,如果Gerrit通过反向代理送达,它可以 为gitweb的链接生成不同的URL(需要的) 在网页服务器上重写为)。Gerrit 代码审查可以管理和生成指向 gitweb 的超链接, 允许用户从Gerrit内容跳转到相同信息, 但由 gitweb 显示。默认为,这是 Linux 发行版上“gitweb”包的常见安装路径。

QuanQuanYuanXin的博客 1406

强连通缩点 scc 求最短路

强连通缩点 求最短路: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=3262 #include using namespace std; const int maxn=1e5+4; int dfn[maxn], low[maxn] ,instack[maxn], belong

varinic 的博客 692

十三、FLUENT蒸发/冷凝模型实战:从沸腾模拟到常温蒸发的UDF进阶

本文深入探讨FLUENT蒸发/冷凝模型的应用实践,从沸腾模拟到常温蒸发的UDF进阶。通过分析相变模型的核心逻辑、关键陷阱及UDF动态饱和温度场的实现,帮助工程师准确模拟不同场景下的蒸发/冷凝过程。结合太阳能蒸馏器等工程案例,提供优化方案和常见问题解决方案,显著提升模拟精度与效率。

weixin_42548893的博客 571

URAL 1198 Jobbery (强连通分量 Gabow)

#include #define MAX_MEMBERS 2000 int numOfMembers; typedef struct To{ int member; int nextToNum; }To; To ToArray[MAX_MEMBERS * MAX_MEMBERS + 1]; int ToNum; int ToNumLastAdded[MAX_MEMBERS + 1]; int

TiuTiu Zone 382

吃透Chisel语言.04.Chisel基础(一)——信号类型和常量

开始肯定是介绍Chisel的基础内容了,《Chisel基础》这一部分主要会介绍数字设计中的两个基本组件:组合电路和触发器。这俩基本组件都不复杂,但是组合在一起就可以得到规模很大、功能也很强大的数字电路了。 第一部分我们就简单地看看Chisel中的信号类型和常量,在上一篇文章中也有相关介绍,其中还包括和Verilog之间的对比。......

github-3rr0r的博客 3823

滑模控制理论(SMC)概述

滑模控制理论(SMC)概述一、背景二、数学理论三、高维拓展四、分析 一、背景 滑模控制理论(Sliding Mode Control, SMC)是一种建立在现代控制理论基础上的控制理论,主要数学核心为李雅普诺夫函数。 滑模控制的核心思想是建立一个滑模面,将被控系统拉取到滑模面上来,使系统沿着滑模面运动。滑模控制的一个优势是无视外部扰动和不确定参数,采用一种比较“暴力”的方式达到控制的目的。 其思想和反步法有些类似,但数学实现起来更加方便而不抽象。相比反步法,滑模控制没有复杂的数学计算,也不会出现“微分爆炸”

高能阿博特的博客 6万+

Tarjan算法附图详解(SCC)

Tarjan算法用于有向图,用于找强连通区域,割边等,属于图论内容。 它的思路类似于DFS + Union Find, 下面来详细介绍: 图和详细视频参考链接 首先任意选一点作为起点做DFS,DFS的过程中要给各node标上id 然后每个node有一个low link value, 简单解释这是表示当前node能到达的node中最小的id(包括它自己的id) 比如node1,它能到达的node中最小id是0 node2 和 3能到达的最小id是2,同理4,5 好了,现在概念清楚了, 我们可以看到有相同l

蓝羽飞鸟的博客 1836

用V E S C 6-M K V I 第六代调速控制器给VESC电调刷固件

文章摘要:本文介绍了一款先进的电机控制器,具备多项创新技术。核心亮点包括三相电流/电压检测、四象限无缝运行、多模式兼容等先进电机控制技术,以及智能感知与安全保护、高效能电源管理、多样化连接与扩展功能。此外,该控制器支持实时数据监测与用户交互,具备开源生态和工业级可靠性,适用于电动载具、机器人及工业领域。用户需注意散热要求和兼容性提示,可通过VESC-Tool软件进行灵活配置。产品可在常竹科技淘宝店购买,并加入技术交流群获取支持。

2403_89422757的博客 1367

openshift scc解析

  SCC使用UserID,FsGroupID以及supplemental group ID和SELinux label等策略,通过校验Pod定义的ID是否在有效范围内来限制pod的权限。如果校验失败,则Pod也会启动失败。SCC的策略值设置为RunAsAny表示pod拥有该策略下的所有权限。否则只有pod的SCC设置与SCC策略匹配时才能通过认证。   SCC可能会给出所允许的策略的值的范围(...

weixin_34410662的博客 1242

TC3XX - MCAL知识点(二十七):SENT Mcal配置及代码实战(单边半字节传输协议)

SENT协议只有一根线,异步传输!Sent协议的全称为Single Edge Nibble Trans .isson,单边半字节传输协议,是一种单线异步串行通信协议。Sent报文包含8个Nibble和一个校准位如图1所示,每一个Nibble数据被编码成PWM方式。设计这种协议的目的是用在与汽车ECU快速交互信息的传感器上,以此来取代低精确度的10bit AD和PWM。Sent是一种点对点的单方向从传感器到控制端的协议,控制器不需要同步信号。

梦想技术家 2272

SAP_MM模块库存概览俄罗斯报表简介

本文介绍了SAP MM模块中"库存概览俄罗斯报表"的功能与应用。该报表主要用于查看物料在不同库存地点和类型的库存情况,并满足俄罗斯当地法规要求。文章解释了"俄罗斯报表"可能指代本地化合规库存报表或客户自定义报表,详细说明了事务代码J3RFLVMOBVEDH的操作步骤,包括公司代码、物料编码、日期范围等查询条件,并解释了报表中各字段含义如期初期末库存数量与价值。最后强调在物料分类账处理完成后使用该报表可获得实际库存价值,为SAP用户提供了实用的库存管理参考。

我小时候很黑的博客 1091

十分钟读懂HEVC-SCC原理

一、什么是SCC(屏幕内容编码,Screen Content Coding)近些年,随着云计算技术和移动互联网技术的迅猛发展,屏幕共享、远程教学、远程视频会议、无线显示等视频应用越趋流行。这些应用中的视频内容与以前常见的摄像机拍摄的内容不同,它还包含有大量的屏幕内容(Screen Content)。与传统的摄像机拍摄内容不同, 屏幕内容中存在着大量的静止或移动的计算机图形和文字,包含大量均匀平坦的...

内核工匠 2681

微信小程序推广策略,打开小程序领域流量大门

本文旨在为小程序开发者、运营者和企业主提供一套完整的微信小程序推广策略体系,帮助他们在竞争激烈的小程序生态中获得更多流量和用户。内容涵盖从0到1的冷启动策略,到成熟期的增长技巧。本文将首先介绍小程序的基础推广设置,然后深入探讨各种流量获取渠道,接着分析数据驱动的优化方法,最后展望未来发展趋势。小程序:无需下载安装即可使用的应用,运行在微信生态内:独立访客数:页面浏览量转化率:完成目标行为的用户比例留存率:用户在一定时间后仍活跃的比例自然流量获取:通过优化搜索、完善资料等方式获得基础流量社交裂变。

小程序开发 1031

Tarjan求SCC

本文介绍了使用Tarjan算法求解有向图强连通分量(SCC)的方法。SCC是指有向图中极大的强连通子图,可以看作图中最大的环结构。算法的核心是通过DFS遍历建立生成树,利用dfn时间戳和low数组记录节点能到达的最早祖先。当发现返祖边时识别环结构,回溯时若节点的dfn等于low值,则找到了一个SCC的根节点,此时弹栈标记该SCC。文中配图展示了DFS生成树中的四种边类型,并给出了完整的Tarjan算法代码实现,包括dfn/low初始化、递归处理、回溯判断以及SCC标记过程。

ywh012805的博客 883

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SAP SCC安装配置

从HANA Tools下载SCC,建议下载msi的安装版本,不用做过多配置下载完正常安装,可以部署在本地或者服务器上,此处是服务器至此安装结束如果是在服务器上安装,有可能报错DLL缺失的问题,网上找个directx修复dll的工具,检查安装下DLL文件再安装就OK了。

谁的博客来着? 868

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

图论 SCC(CCF高速公路)

简介首先需要复习一下图论的一系列知识,理解有向图的强连通分量的定义,求解有向图的强连通分量算法有很多,例如Kosaraju,Gabow和Tarjan算法,其中Gabow和Tarjan算法时间复杂度要优于Kosaraju。在这里我们使用Tarjan求解SCC。 在此之前你可以对SCC有个直观的认识,放图: 然后看一篇浅显的说明性的文字,了解这个算法的思想: http://www.voidcn

咕嘟咕嘟 3541

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

有关强联通分量(SCC)

浅谈强联通分量

2509_93020071的博客 1896

有向图的强连通分量(SCC)

有向图的强连通分量(SCC) 1. 有向图的强连通分量原理 原理 强连通分量是针对有向图来说的。如下的讲解默认都是针对有向图的。 连通分量:对于一个有向图中的一些点来说,如果任意两点都能相互到达,则称这些点以及对应的边构成连通分量。 强连通分量:指极大连通分量。即该联通分量中增加任何一个点都不能构成连通分量了。 那么强连通分量有什么作用呢? 我们可以通过使用求解强联通分量的方式将一个有向图缩点成有向无环图(DAG),也称为拓扑图。缩点:指将强联通分量缩成一个点。 转化为拓扑图有什么好处

weixin_42638946的博客 4434

SCC1传输请求(同系统跨Client)

SCC1 是用于在同一系统下不同clients之间传输内容,内容通过传输请求打包; SCC4 是关于同一系统下不同clients的管理,里面有各个client的设定。 先在SE10释放,再到SCC1传输。 ...

乐期无许的博客 1万+

LTE-PCC SCC

LTE CA里面涉及两个概念,一个PCC,一个SCC: PCC:primary carrier component 主载波 SCC:sencondary carrier component 辅载波 Pcell UE建立初始连接的小区,一般对应PCC, Scell 通过RRC重配置添加的小区,提供额外的频段资源,一般对应SCC; PCC必须同时配置DL和UL,SCC可以只配置一个DL...

dxm809的博客 2947

poj 2553 The Bottom of a Graph 【有向图tarjan 求SCC 处理出度为0的SCC】

 The Bottom of a Graph Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 9429   Accepted: 3910 Description We will use the following (standard) definition

世界很大 1015
上一篇: 图算法
下一篇: SCC::poj2186 Popupar Cows && poj2553 The Bottom of A Graph
初四
博客等级 码龄15年 3粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值