Is the computational complexity of TreeSet methods in Java, same as that of an AVLTree?
Specifically, I want to know the computational complexity of the following methods:
1.add
2.remove
3.first
4.last
5. floor
6. higher
Java Doc for method description: http://docs.oracle.com/javase/6/docs/api/java/util/TreeSet.html
For an AVL Tree, there are all O(logn)? Whats the complexity of the above TreeSet Methods?
EDIT: It should be clarified that the time order usually refers to the number of comparisons. Some operations have no comparisons, so the time order could be taken from the number of sub-tasks
The code below prints the following in Java 8
the code
Operations which work on a single element are all O(ln n) comparisons except first and last which are O(1) comparisons or O(ln N) node search time.
comparator(), iterator(), clear(), first(), isEMpty(), size(), last(), pollFirst(), pollLast(), headSet() are O(1)
add(), ceiling(), contains(), floor(), higher(), lower(), remove(), subSet(), tailSet() are O(ln N)
clone(), hashCode(), toArray() and toString() are O(n) for operations, but no comaprisons