A recursive datastructure is a datastructure (e.g. a struct or class) that contains one or several references to instances of the same datastructure as a member. Examples include linked lists and trees. Use where the recursive nature of the datastructure is relevant.