Hello:
I am new to igraph. I want to use the C interface and I am having a hard time trying to do something basic.
I read the docs and I am not too sure I understand how to feed igraph the vertexes and the edges.
My graph is unidirectional, sparse and it has around 80 mil nodes and around 1 billion edges (I think it could be seen as a tree). I need to do some processing to generate all the edges. At the end of this process I will have a few arrays that contain the vertexes and the edges. For each node X I have an array attached to X that contains the nodes Y such that there is an edge from X to Y. I am not too sure yet about the exact structures though. I guess I could end up having just the edges, assuming the nodes will be from 1 to 80,000,000.
Let's say the vertexes are from 1 to N, and the edges are expressed as arrays attached to each node. Of course there are several ways to express the edges, but I don't understand what is the format that igraph accepts. For instance, one way would be to put all the edges in a huge array of pairs (X, Y) where there is an edge from X to Y. The array would contain: 0, 1, 0, 2, 1, 3, 1, 4 etc where (0, 1), (0, 2), (1, 3), (1, 4) etc are all edges.
Can you please clarify it for me? Ideally my custom process could produce the data in the format used by igraph to save memory and time.
I ultimately want to find the shortest paths. I don't need to add any weights or any other data.
My computer has 16GB of RAM.