applications of tree data structure