Is there any that you could build three separate vectors for the different components? That would allow the storage from two of the vectors to be reused as-is in the CSR graph. Otherwise, the best you can do is probably to accept an extra copy (but you should be able to get it to that using multi-pass iteration over the input vector).
-- Jeremiah Willcock
-------- Original message --------
From: Sensei
Date:05/20/2014 9:52 AM (GMT-07:00)
To: boost-users@lists.boost.org
Subject: [Boost-users] [Graph] CSR from list of tuples
Dear all,
I need to construct (and use) a graph that can handle millions of nodes,
with minimal overhead, and as suggested I am using a CSR graph. As I
understand from the documentation, it is unmodifiable.
Arcs are created at runtime in a parallel fashion, and my choice was to
use a vector of std::tuple<std::size_t, std::size_t, int> (that is,
node, node, weight) with Intel's TBB.
This is the problem: can I avoid temporary vectors to construct my graph?
Right now the only way I see is to create the vector of arcs (as
std::pair) and the vector of weights, but this is a waste of time and
memory.
Do you have any helpful suggestions?
Cheers & Thanks!
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users