
262 A Practical Guide to Data Structures and Algorithms Using Java
DLL time SLL time circular array time
method complexity complexity complexity
constructor, capacity x O(1) O(1) O(x)
ensureCapacity(x) O(1) O(1) O(x)
trimToSize() O(1) O(1) O(n)
add(o) O(1) O(1) O(1)
addFirst(o)
O(1) O(1) O(1)
addLast(o) O(1) O(n) O(1)
removeFirst() O(1) O(1) O(1)
removeLast() O(1) O(n) O(1)
add(p,v) O(d(p)) O(p + 1) O(d(p) + 1)
get(p) O(d(p)) O(p + 1) O(1)
remove(p) O(d(p)) O(p + 1) O(d(p) + 1)
set(p,o) O(d(p)) O(p + 1) O(1)
swap(p,q) O(d(p) + d(q)) O(q + 1) O(1)
removeRange(p,q) O(d(p) + d(q) O(q) O(min(q + 1, p − i))
+(q − p + 1))
accept(v) O(n) O(n) O(n)
addAll(c) O(n) O(n