byvoidjs中有哪些全局方法?
byvoid 时间:2021-07-10 阅读:(
)
BAT前端应届生的薪资大概有多少
我毕业的时候(08年) 腾讯7k 百度9k,麦克尔索芙特也就13k(貌似阿里当时更低完全没入眼)
今年出去面试,听完工资范围面试官都嫉妒得无心招聘了……
话说阿里的实习生分 Ali star(比如之前很火的byvoid小朋友面试记录泄漏),A+,A,B+四档,一般入目。
Pascal 的tarjan算法
强连通分量
一个有向图中,如果节点i能够通过一些边到达节点j,就 简写成i能到达j。
如果对于任意两个节点i,j均有i能到达j或j能到达i,则说此图是连通的。
如果对于任意两个节点i,j均有i能到达j且j能到达i, 则说此图是强连通的。
对于一个无向图,说强联通没有意义,因为此时强连通就是连通。
而对于一个有向图,它不一定是强连通的,但可以分为几个极大的 强连通子图(“极大”的意思是再加入任何一个顶点就不满足强连通了)。
这些子图叫做这个有向图的强连通分量。
在上图中,强连通分量是 A{1},B{2,4},C{3,5,6,7}。
在一个强连通分量中的节点由于有着相似的拓扑性质,所以我们可以将其紧缩为一个节点(这让我想到了什么?化 学里的“族”),于是就大大减小了图的规模。
比如上图紧缩为A,B,C三个节点后,整个图就成为了B←A→C的简单形式。
所以强连通分量是一个 很有意义的东西。
然而如果根据定义,对每个节点进行一次O(n2)的DFS以求出它所能到达的顶点的话,整 个算法的时间复杂度就是迟钝的O(n3)。
下面将介绍用O(n2)求强连通分量的算 法:Tarjan算法。
Tarjan算法
Tarjan算法只要一遍DFS,效率高于Kosaraju。
它在技术上有了很大改进。
它基于的思想是:强连通分量是 DFS树中的子树(无论你如何进行DFS)。
Tarjan算法的过程是:
①在DFS树中,设low[x]是x或x的后代能够达到的最高的 祖先。
初始化时low[x]设为x。
②进行DFS,在结束节点x时计算low[x]。
计算的方法是:找出x能够到达的所有节点i,应保证 low[i]是x的祖先,即low[i]是灰点。
low[x]=highest(low[i]),即d[low[i]]最小。
③若 low[x]=x,则以x为根的子树就是一个强连通分量,输出并将其从树中删去。
我们依次得出:
low[4]=low[2]=2
low[2]=low[4]=2 //{4,2}为强 连通分量
low[5]=low[3]=3
low[7]=low[5]=3
low[6]=low[7]=3
low[3]=low[6]=3 //{5,7,6,3}为强连通分量
low[1]=1 //{1}为强连通分量
程 序:
var a,kl:array[1..1000,1..1000]of longint;
d,f,low,stack:array[1..1000]of longint;
i,j,n,time,h:longint;
procedure dfs(x:longint);
var i:longint;
begin
inc(time);
d[x]:=time;
inc(h);
stack[h]:=x;
for i:=1 to n do
if a[x,i]>0 then
begin
if d[i]=0 then
begin
kl[x,i]:=1;
dfs(i);
end;
if (d[i]>0)and(f[i]=0) then kl[x,i]:=2;
if f[i]>0 then
begin
if d[x]>d[i] then kl[x,i]:=3 else kl[x,i]:=4;
end;
end;
inc(time);
f[x]:=time;
for i:=1 to n do
if a[x,i]>0 then
if (f[low[i]]=0)and(d[low[i]]<d[low[x]])and(d[low[i]]>0) then
low[x]:=low[i];
if low[x]=x then
begin
while stack[h]<>x do
begin
write(stack[h],);
dec(h);
end;
writeln(stack[h]);
dec(h);
end;
end;
begin
readln(n);
for i:=1 to n do
begin
for j:=1 to n do read(a[i,j]);
readln;
end;
fillchar(d,sizeof(d),0);
fillchar(d,sizeof(d),0);
for i:=1 to n do low[i]:=i;
time:=0;
fillchar(stack,sizeof(stack),0);
h:=0;
for i:=1 to n do
if d[i]=0 then dfs(i);
end.
还有,在BYVoid神牛的Blog里也讲到了Tarjan算法(图文并茂啊。
。
我就是看这个学的)。
js中有哪些全局方法?
类: Array, Boolean Date Error Number Object RegExp String
这些类有自己的方法, 生成对象后就可以用
方法: decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt
关于HostYun主机商在之前也有几次分享,这个前身是我们可能熟悉的小众的HostShare商家,主要就是提供廉价主机,那时候官方还声称选择这个品牌的机器不要用于正式生产项目,如今这个品牌重新转变成Hostyun。目前提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路,访问质量不错。今天和大家分享下...
云基成立于2020年,目前主要提供高防海内外独立服务器用户,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)、国内高防服务器(广州移动、北京多线、石家庄BGP、保定联通、扬州BGP、厦门BGP、厦门电信、...
VoLLcloud LLC是一家成立于2020年12月互联网服务提供商企业,于2021年1月份投入云计算应用服务,为广大用户群体提供云服务平台,已经多个数据中心部署云计算中心,其中包括亚洲、美国、欧洲等地区,拥有自己的研发和技术服务团队。现七夕将至,VoLLcloud LLC 推出亚洲地区(香港)所有产品7折优惠,该产品为CMI线路,去程三网163,回程三网CMI线路,默认赠送 2G DDoS/C...
byvoid为你推荐
saltstacksaltstack使用中的问题?master端sudo salt-master -l debug提示信息像这样,是什么情况?怎样改?httpsessionhttpsession中的SessionID是如何生成的?oracle索引Oracle中有多少种索引类型mindmanager破解版xmind mac破解版哪个好用索引超出了数组界限什么是索引超出了数组界限ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?ruby语言公司实习让我学习RUBY语言,不知道RUBY语言发展前景怎么样,值不值的去学习。medias请帮我详细解释一下 chronological order和in medias res数据分析报告范文数据分析报告怎么写pci数据捕获和信号处理控制器三星450r5v x05 设备管理器出现pci数据捕获和信号处理控制器有个黄色的感叹号怎么办
看国外视频直播vps diahosting xfce lamp配置 网通服务器ip gspeed jsp空间 双十一秒杀 流量计费 可外链相册 环聊 360云服务 带宽租赁 空间申请 重庆联通服务器托管 cx域名 装修瓦工招聘 阿里云主机 主机配置 usb大容量存储设备 更多