Worst Case Runtimes for Ordered Set Operations
|
|
Operation |
OList |
OVector |
BST* |
Balanced BST** |
Insert(t) |
O(n) |
O(n) |
O(n) |
O(log n) |
Includes(t) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Retrieve(&t) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Put(t) |
O(n) |
O(n) |
O(n) |
O(log n) |
Get(t) |
O(n) |
O(n) |
O(n) |
O(log n) |
LowerBound(t) |
O(n) | Θ(log n) |
O(n) | O(log n) |
UpperBound(t) |
O(n) | Θ(log n) |
O(n) | O(log n) |
Remove(t) |
O(n) |
O(n) |
|
|
Erase(t) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Rehash() |
|
O(n2) |
O(n2) |
O(n log n) |
Traversal |
Θ(n) |
Θ(n) |
Θ(n) |
Θ(n) |
|
(n = size of set) |
|
| |
Worst Case Runtimes for Ordered Table Operations
|
|
Operation |
OList |
OVector |
BST* |
Balanced BST** |
Insert(k,d) |
O(n) |
O(n) |
O(n) |
O(log n) |
Includes(k) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Retrieve(k,&d) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Put(k,d) |
O(n) |
O(n) |
O(n) |
O(log n) |
Get(k) |
O(n) |
O(n) |
O(n) |
O(log n) |
LowerBound(k) |
O(n) | Θ(log n) |
O(n) | O(log n) |
UpperBound(k) |
O(n) | Θ(log n) |
O(n) | O(log n) |
Remove(k) |
O(n) |
O(n) |
|
|
Erase(k) |
O(n) |
Θ(log n) |
O(n) |
O(log n) |
Rehash() |
|
O(n2) |
O(n2) |
O(n log n) |
Traversal |
Θ(n) |
Θ(n) |
Θ(n) |
Θ(n) |
|
(n = size of table) |
|
|