Changes in / [1263:b9887ae63df0:1268:19087d4f215d] in lemon
 Files:

 2 edited
Legend:
 Unmodified
 Added
 Removed

lemon/connectivity.h
r956 r1268 746 746 /// 747 747 /// This function checks whether the given undirected graph is 748 /// binodeconnected, i.e. any two edges are on same circle. 748 /// binodeconnected, i.e. a connected graph without articulation 749 /// node. 749 750 /// 750 751 /// \return \c true if the graph binodeconnected. 751 /// \note By definition, the empty graph is binodeconnected. 752 /// 753 /// \note By definition, 754 /// \li a graph consisting of zero or one node is binodeconnected, 755 /// \li a graph consisting of two isolated nodes 756 /// is \e not binodeconnected and 757 /// \li a graph consisting of two nodes connected by an edge 758 /// is binodeconnected. 752 759 /// 753 760 /// \see countBiNodeConnectedComponents(), biNodeConnectedComponents() 754 761 template <typename Graph> 755 762 bool biNodeConnected(const Graph& graph) { 763 bool hasNonIsolated = false, hasIsolated = false; 764 for (typename Graph::NodeIt n(graph); n != INVALID; ++n) { 765 if (typename Graph::OutArcIt(graph, n) == INVALID) { 766 if (hasIsolated  hasNonIsolated) { 767 return false; 768 } else { 769 hasIsolated = true; 770 } 771 } else { 772 if (hasIsolated) { 773 return false; 774 } else { 775 hasNonIsolated = true; 776 } 777 } 778 } 756 779 return countBiNodeConnectedComponents(graph) <= 1; 757 780 } 
test/connectivity_test.cc
r1259 r1268 98 98 check(simpleGraph(g), "This graph is simple."); 99 99 } 100 101 { 102 ListGraph g; 103 ListGraph::NodeMap<bool> map(g); 104 105 ListGraph::Node n1 = g.addNode(); 106 ListGraph::Node n2 = g.addNode(); 107 108 ListGraph::Edge e1 = g.addEdge(n1, n2); 109 ::lemon::ignore_unused_variable_warning(e1); 110 check(biNodeConnected(g), "Graph is binodeconnected"); 111 112 ListGraph::Node n3 = g.addNode(); 113 ::lemon::ignore_unused_variable_warning(n3); 114 check(!biNodeConnected(g), "Graph is not binodeconnected"); 115 } 116 100 117 101 118 {
Note: See TracChangeset
for help on using the changeset viewer.