首页 > 解决方案 > 如何将图形保存在文件中,然后再调用它?

问题描述

我必须阅读代表电路的文件。然后将该电路转换为 DAG。我已经使用邻接列表做到了。

我的问题是如何将 DAG 保存到文件中,这样我就不必在每次程序执行时再次读取文件?

我的意思是只需读取一次文件并构建图表。然后,每当我们需要该图时,我们只需调用它或读取它。

就像我们在 MATLAB 中一样:

% save the constructed graph    
save ('Graph.mat', 'Graph';
% simply just load it
load Graph;

我的问题是一些电路非常大,需要相当长的时间才能转换为图形。如果每次运行都发生这种电路到图形的转换,那将是非常令人沮丧的。(在 C++ 中)

任何帮助将不胜感激。

标签: c++filegraphsave

解决方案


你想要做的是序列化和反序列化。有很多方法可以做到这一点,但基本上你想存储足够的数据来重建你的所有对象和相互关系。MATLAB 和其他系统为您执行此操作,在 C++ 中您必须自己设计系统。最好的想法是选择一种已知且稳定的方式来表示数据(例如JSON),为此使用一个库,然后设计其余的。


推荐阅读