2017-08-13 1 views
0

Ich habe versucht, einen Binärbaum zu erstellen, vorausgesetzt, es wird maximal 2 untergeordnete Knoten haben. Bei einem Graphen sind jedoch ein oder mehrere Graphknoten damit verbunden. Wie kann ich eine einfache Klasse für einen Diagrammknoten wie den unten für einen Baum erstellten erstellen? Der Grund für den Vorschlag liegt darin, dass ich nach einem einfachen Code suche, um alle Knoteninformationen zu finden, die an einen bestimmten Knoten gebunden sind.C# -Klasse für ein Diagramm Knoten

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

} 
+1

mit einer Liste ? – Everts

+0

Der Wert in diesem Fall ist ein array int [] - Wert, wenn das Diagramm nur y-Punkte enthält. – jdweng

Antwort

1

Bei Graph kann jeder Knoten beliebig viele Kanten haben (Nachbarknoten), so müssen Sie, sagen List<T> eine Sammlung verwenden:

// 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; 
     } 
    } 
} 
Verwandte Themen