1. for iX do num[i]:=0; ftr[i]:=0
2. for i=1 to m do numBL[i]:=0
3. k:=1; kU:=0; SU:=nil; cntBL:=0; U:=nil;
4. for rX
5. do if num[r]=0
6. then BLOCK®
BLOCK(i)
1. num[i]:=k; L[i]:=k k:=k+1
2. for jГ[i]
3. do if num[j]=0
4. then SU (i,j)
5. ftr[j]:=i
6. BLOCK(j)
7. L[i]:=min(L[i],L[j])
8. if L[j] num[i]
9. then cntBL:=cntBL+1
10. while Top(SU) (i,j)
11. do u SU ; U u
12. kU:=kU+1
13. numBL[kU]:=cntBL
14. else if j ftr[i]
15. then SU (i,j)
16. L[i]:=min(L[i],num[j])
Графы. Выделение блоков,мостов,точек раздела |