Solving recurrence relations: recursion trees