1. Does your solution for updating the balance factors preserve the O(log n) behavior for the addElement and

    removeElement

    methods?
  2. Suppose that I had given you this project based on keeping an attribute for the height of its sub-tree in each node, instead of a balance factor.