Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fe69eab

Browse files
committed
Preserve node order in layered coarsened views
1 parent 17f6757 commit fe69eab

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

networkit/cpp/coarsening/CoarsenedGraphView.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,12 @@ CoarsenedGraphView::CoarsenedGraphView(const CoarsenedGraphView &baseView,
4545
nodeMapping.resize(originalGraph.upperNodeIdBound());
4646
supernodeToOriginal.resize(numSupernodes);
4747

48-
for (node baseSupernode = 0; baseSupernode < baseView.numberOfNodes(); ++baseSupernode) {
48+
originalGraph.forNodes([&](node originalNode) {
49+
const node baseSupernode = baseView.nodeMapping[originalNode];
4950
const node supernode = compactPartition[baseSupernode];
50-
const auto &originalNodes = baseView.supernodeToOriginal[baseSupernode];
51-
supernodeToOriginal[supernode].reserve(supernodeToOriginal[supernode].size()
52-
+ originalNodes.size());
53-
for (node originalNode : originalNodes) {
54-
nodeMapping[originalNode] = supernode;
55-
supernodeToOriginal[supernode].push_back(originalNode);
56-
}
57-
}
51+
nodeMapping[originalNode] = supernode;
52+
supernodeToOriginal[supernode].push_back(originalNode);
53+
});
5854

5955
TRACE("Created layered CoarsenedGraphView with ", numSupernodes, " supernodes from ",
6056
baseView.numberOfNodes(), " base supernodes");

0 commit comments

Comments
 (0)