保存图形节点的最佳方式
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 操作我要少
我正在尝试解决如何保存图的节点。每个节点都可以有更多的祖先和更多的后代。现在我有了这个结构:
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 操作我要少