DEV Community

Jennifer Fadriquela
Jennifer Fadriquela

Posted on • Updated on

Generic Interface for Binary Tree

A node in a binary tree can only have left and right child nodes. This structure can go deeper. As an effort to strongly-type this kind of data, I came up with below implementation of generic interface and class.

public interface INode<T>
{
    T LeftNode { get; set; }
    T RightNode { get; set; }
    string Path { get; set; }
}

public class Node: INode<Node>
{
    public Node LeftNode { get; set; }
    public Node RightNode { get; set; }
    public string Path { get; set; }
}
Enter fullscreen mode Exit fullscreen mode

Node class seems a little quirky because it passes its own type to INode.

Top comments (0)