如何在标准PC上管理大树?

psi*_*lia 5 c linux algorithm tree gcc

  1. 给定一个根节点,这应该开始产生一个树与约10 10(AB 2 34)个节点,它是适合使用存储器映射文件,该文件一次将包含整个树?
  2. 可能出现哪些与操作系统相关的问题(文件I/O,大文件支持)?
  3. C,gcc和glibc有一些隐式限制(指针)吗?
  4. Linux对大文件有任何问题/限制吗?

tsk*_*zzy 2

正如 yi_H 在评论中提到的,您需要 64 位操作系统和支持大文件的文件系统。假设每个节点包含大约 2^5=32 字节的数据,2^40 个节点将产生 2^45 字节 = 32 TB。现在假设您没有在现代军用战斗机上运行,​​您需要将大部分数据映射到硬盘。

一旦数据位于磁盘上并且文件系统配置正确,我认为不会出现任何系统限制的问题。然而读/写速度肯定是一个问题。如果硬盘上的平均 IO 速度为 100 mb/s,则遍历整棵树大约需要 4-5 天。

最好将数据划分到多台计算机上并并行操作。