SNAP Library 2.1, Developer Reference
2013-09-25 10:47:25
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
Articulation point Depth-First-Search visitor class. More...
#include <cncom.h>
Public Member Functions | |
TArtPointVisitor () | |
TArtPointVisitor (const int &Nodes) | |
void | DiscoverNode (int NId) |
void | FinishNode (const int &NId) |
void | ExamineEdge (const int &NId1, const int &NId2) |
void | TreeEdge (const int &NId1, const int &NId2) |
void | BackEdge (const int &NId1, const int &NId2) |
void | FwdEdge (const int &NId1, const int &NId2) |
Public Attributes | |
THash< TInt, TIntPr > | VnLowH |
THash< TInt, TInt > | ParentH |
TIntSet | ArtSet |
TInt | Time |
TArtPointVisitor::TArtPointVisitor | ( | ) | [inline] |
TArtPointVisitor::TArtPointVisitor | ( | const int & | Nodes | ) | [inline] |
void TArtPointVisitor::BackEdge | ( | const int & | NId1, |
const int & | NId2 | ||
) | [inline] |
Definition at line 183 of file cncom.h.
References THash< TKey, TDat, THashFunc >::GetDat(), THash< TKey, TDat, THashFunc >::IsKey(), TMath::Mn(), ParentH, TPair< TVal1, TVal2 >::Val1, TPair< TVal1, TVal2 >::Val2, and VnLowH.
{ if (ParentH.IsKey(NId1) && ParentH.GetDat(NId1)!=NId2) { VnLowH.GetDat(NId1).Val2 = TMath::Mn(VnLowH.GetDat(NId1).Val2, VnLowH.GetDat(NId2).Val1); } }
void TArtPointVisitor::DiscoverNode | ( | int | NId | ) | [inline] |
void TArtPointVisitor::ExamineEdge | ( | const int & | NId1, |
const int & | NId2 | ||
) | [inline] |
void TArtPointVisitor::FinishNode | ( | const int & | NId | ) | [inline] |
Definition at line 176 of file cncom.h.
References THashSet< TKey, THashFunc >::AddKey(), ArtSet, THash< TKey, TDat, THashFunc >::GetDat(), THash< TKey, TDat, THashFunc >::IsKey(), TMath::Mn(), ParentH, TPair< TVal1, TVal2 >::Val1, TPair< TVal1, TVal2 >::Val2, and VnLowH.
{ if (! ParentH.IsKey(NId)) { return; } const int Prn = ParentH.GetDat(NId); VnLowH.GetDat(Prn).Val2 = TMath::Mn(VnLowH.GetDat(Prn).Val2, VnLowH.GetDat(NId).Val2); if (VnLowH.GetDat(Prn).Val1==1 && VnLowH.GetDat(NId).Val1!=2) { ArtSet.AddKey(Prn); } if (VnLowH.GetDat(Prn).Val1!=1 && VnLowH.GetDat(NId).Val2>=VnLowH.GetDat(Prn).Val1) { ArtSet.AddKey(Prn); } }
void TArtPointVisitor::FwdEdge | ( | const int & | NId1, |
const int & | NId2 | ||
) | [inline] |
Definition at line 186 of file cncom.h.
References THash< TKey, TDat, THashFunc >::GetDat(), TMath::Mn(), TPair< TVal1, TVal2 >::Val1, TPair< TVal1, TVal2 >::Val2, and VnLowH.
void TArtPointVisitor::TreeEdge | ( | const int & | NId1, |
const int & | NId2 | ||
) | [inline] |
Definition at line 170 of file cncom.h.
Referenced by FinishNode().
Definition at line 169 of file cncom.h.
Referenced by BackEdge(), FinishNode(), and TreeEdge().
Definition at line 171 of file cncom.h.
Referenced by DiscoverNode().
Definition at line 168 of file cncom.h.
Referenced by BackEdge(), DiscoverNode(), FinishNode(), and FwdEdge().