保存图形节点的最佳方式

Best way how save nodes of graph

我正在尝试解决如何保存图的节点。每个节点都可以有更多的祖先和更多的后代。现在我有了这个结构:

struct Node
{
  int m_Value; 
  int m_Index; // end Node in m_Nodes
  int m_Length; // actual size of m_Nodes and m_Prev (for realloc)
  Node* m_Nodes; // dynamic array (descendants)
  Node* m_Prev; // dynamic array (ancestors)
}

我不确定这是否是最好的方法。该图可能如下所示:

  1
2   3
  4

Edges: [1,2], [1,3], [2,4], [3,4], [4,1]

感谢您的意见。

你可以保存边和点separately.And你需要一个函数来获取一个点的所有边。所以内存 malloc & free 操作我要少