struct treenode object elementtreenode *firstchildtreenode *nextsibling}figure node declarations for trees figure first child/next sibling representation of the tree shown in figure structurebecause there would be too much wasted space the solution is simplekeep the children of each node in linked list of tree nodes the declaration in figure is typical figure shows how tree might be represented in this implementation horizontal arrows that point downward are firstchild links arrows that go left to right are nextsibling links null links are not drawnbecause there are too many in the tree of figure node has both link to sibling (fand link to child ( )while some nodes have neither tree traversals with an application there are many applications for trees one of the popular uses is the directory structure in many common operating systemsincluding unix and dos figure is typical directory in the unix file system the root of this directory is /usr (the asterisk next to the name indicates that /usr is itself directory /usr has three childrenmarkalexand billwhich are themselves directories thus/usr contains three directories and no regular files the filename /usr/mark/book/ch is obtained by following the leftmost child three times each after the first indicates an edgethe result is the full pathname this hierarchical file system is very popular because it allows users to organize their data logically furthermoretwo files in different directories can share the same namebecause they must have different paths from the root and thus have different pathnames directory in the unix file system is just file with list of all its childrenso the directories are structured almost exactly in accordance