SNAP Library 2.2, Developer Reference
2014-03-11 19:15:55
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 186 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 179 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 189 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 173 of file cncom.h.
Referenced by FinishNode().
Definition at line 172 of file cncom.h.
Referenced by BackEdge(), FinishNode(), and TreeEdge().
Definition at line 174 of file cncom.h.
Referenced by DiscoverNode().
Definition at line 171 of file cncom.h.
Referenced by BackEdge(), DiscoverNode(), FinishNode(), and FwdEdge().