Understanding Trees in Data Structures