图形节点的 C# 类



我尝试创建一个二叉树,假设它最多有 2 个子节点。但是对于图形,它将有一个或多个图形节点连接到它。如何为图形节点创建一个简单的类,如下所示,我为树创建。建议的原因是因为我正在尝试使用简单的代码来查找与特定节点绑定的所有节点信息。

class TreeNode
{
public int value { get; set; }
public TreeNode leftNode { get; set; }
public TreeNode rightNode { get; set; }
}

图形的情况下,任何节点都可以有任意多条边(相邻节点(,所以你必须使用集合,比如List<T>

// TValue - let's generalize 
// (e.g. you may want ot have double or string value associated with the node)
class GraphNode<TValue> {
private List<GraphNode<TValue>> m_Connected = new List<GraphNode<TValue>>();
public TValue value { get; set; }
// get (and no set) - we don't want to assign the collection as whole
// if we want to add/remove a neighbor we'll call Neighbors.Add, Neighbors.Remove
public List<GraphNode<TValue>> Neighbors { 
get {
return m_Connected;
}
}
}

最新更新