File io 用于存储从大型文本文件读取的数据的适当数据结构

File io 用于存储从大型文本文件读取的数据的适当数据结构,file-io,data-structures,text-files,File Io,Data Structures,Text Files,我需要从一个非常大的(大约一百万条)文本文件中读取数据,并试图确定哪种数据结构最合适。文件中的每个条目都包含两个整数,表示有向图中的一条边(尾部和头部顶点),绝大多数顶点至少有一条传出边。我的“天真”解决方案是使用向量向量,因此如果尾部顶点为1,头部顶点为2,我只需执行类似于图形[1]的操作。向后推(2)以读取条目“12”。一旦读入该图,我将使用Kosaraju的算法来计算强连接组件,因此我认为能够在恒定时间内通过[]操作符访问每个元素将非常方便 在这种情况下,数据结构的“典型”选择是什么?另外

我需要从一个非常大的(大约一百万条)文本文件中读取数据,并试图确定哪种数据结构最合适。文件中的每个条目都包含两个整数,表示有向图中的一条边(尾部和头部顶点),绝大多数顶点至少有一条传出边。我的“天真”解决方案是使用向量向量,因此如果尾部顶点为1,头部顶点为2,我只需执行类似于
图形[1]的操作。向后推(2)
以读取条目“12”。一旦读入该图,我将使用Kosaraju的算法来计算强连接组件,因此我认为能够在恒定时间内通过[]操作符访问每个元素将非常方便

在这种情况下,数据结构的“典型”选择是什么?另外,假设向量的向量是一个坏的概念,为什么它是坏的?我猜向量本身需要重新调整大小这一事实会减慢速度,但是边/顶点的数量直到运行时才知道,所以我不确定有什么方法可以解决这个问题


谢谢

您知道顶点的数量吗

向量的向量并不像你想象的那么糟糕,因为你可以在读取边之前调整外部向量的大小。因此,可以防止复制整个图形

据我所知,向量的向量是很好的图形结构。它经常用于计算机科学奥林匹克竞赛