title: Suiting DataStructure for a Graph (own implementation)
body: <p>I am going to write my own Graph structure in C# (i know such exist but I want to practice + I need custom methods). The idea is simple:</p>
  
  <ol>
  <li>The <code>Graph&lt;T&gt;</code> class will have a set of <code>GraphNode&lt;T&gt;</code> objects, representing the nodes</li>
  <li>Each node will have a set of <code>GraphNode&lt;T&gt;</code> objects representing the nodes, to which it connects (oriented graph).</li>
  </ol>
  
  <p>My question is simple: What datastructure should I use if I want fast traversal over the sets of <code>GraphNode&lt;T&gt;</code>? Fast adding/removing is +, but not a primary target.</p>