diff --git a/README.md b/README.md index f5a52b0f3467116fbed40c4bd2a999b36bc17e73..243967316cb557dad7bcef933b6b489b56642dc2 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,11 @@ So far the only implementation is the composite "family". Named thusly because t - ``CompositeMultiBiMap``. Uses three dictionaries. One that maps keys to value hashsets, a second that maps value hashsets to keys, and a third dictionary that maps unique values to key hashsets. ## Features & Complexity -| Implementation | Fwd Lookup | Rev Lookup | Add | Remove | ContainsKey | ContainsValue | Space | +| Implementation | Forward Lookup | Reverse Lookup | Add | Remove | ContainsKey | ContainsValue | Space | | ------------------- | -------------- | -------------- | ----------- | ----------- | ----------- | ------------- | ---------------- | -| CompositeBiMap | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(2\*k + vu) | -| CompositeMultiMap | O(1)/O(n) | N/A | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(k)/O(k^2) | O(k + v) | -| CompositeMultiBiMap | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(3\*k + v + vu) | +| CompositeBiMap | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(2\*k+vu) | +| CompositeMultiMap | O(1)/O(n) | N/A | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(k)/O(k^2) | O(k+v) | +| CompositeMultiBiMap | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(1)/O(n) | O(3\*k+v+vu) | Note: values to the left of the slash indicate the "average" case, generally signifying the absence of hash collisions. The value to the right indicates the actual worst case time complexity. - n => generic item count.