public static void Main()
Console.WriteLine("Hello World");
where K : class, IComparable<K>
public V DepthLimitedSearch(Node<K, V> root, K goal, int depth)
if (depth == 0 && root.key == goal)
foreach (var child in root.children)
var result = DepthLimitedSearch(child, goal, depth - 1);
if (result != default(V))
public V IterativeDeepeningSearch(K key, int depth)
for (int currentDepth = 0; currentDepth <= depth; currentDepth++)
var v = DepthLimitedSearch(root, key, currentDepth);
where K : class, IComparable<K>
public Node<K, V>[] children;