chap non-binary trees left val par right figure the "left-child/right-siblingimplementation adding tree as subtree of node is done by simply adding the root of to ' list of children the left-child/right-sibling implementation with the "list of childrenimplementationit is difficult to access node' right sibling figure presents an improvement hereeach node stores its value and pointers to its parentleftmost childand right sibling thuseach of the basic adt operations can be implemented by reading value directly from the node if two trees are stored within the same node arraythen adding one as the subtree of the other simply requires setting three pointers combining trees in this way is illustrated by figure this implementation is more space efficient than the "list of childrenimplementationand each node requires fixed amount of space in the node array dynamic node implementations the two general tree implementations just described use an array to store the collection of nodes in contrastour standard implementation for binary trees stores each node as separate dynamic object containing its value and pointers to its two children unfortunatelynodes of general tree can have any number of childrenand this number may change during the life of the node general tree node implementation must support these properties one solution is simply to limit the number