Skip to content

Commit

Permalink
chore: Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
idsulik committed Nov 7, 2024
1 parent 155c08c commit 53eb365
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -660,18 +660,26 @@ Where α(n) is the inverse Ackermann function, which grows extremely slowly and
- Percolation analysis
---


| Data Structure | Access | Search | Insertion | Deletion | Space |
|----------------|----------|----------|-----------|----------|--------------------------|
| Array | O(1) | O(n) | O(n) | O(n) | O(n) |
| Set | O(1) | O(1) | O(1) | O(1) | O(n) |
| Queue | O(1) | O(n) | O(1) | O(1) | O(n) |
| Priority Queue | O(1) | O(n) | O(log n) | O(log n) | O(n) |
| BST (balanced) | O(log n) | O(log n) | O(log n) | O(log n) | O(n) |
| Trie | O(m) | O(m) | O(m) | O(m) | O(ALPHABET_SIZE * m * n) |
| Graph | O(1) | O(V+E) | O(1) | O(V+E) | O(V+E) |
| BloomFilter | N/A | O(k) | O(k) | N/A | O(m) |
| Disjoint Set | O(α(n)) | O(α(n)) | O(α(n)) | O(α(n)) | O(n) |
## Performance Comparison

| Data Structure | Access | Search | Insertion | Deletion | Space |
|-----------------|----------|----------|-----------|----------|--------------------------|
| Array | O(1) | O(n) | O(n) | O(n) | O(n) |
| Set | O(1) | O(1) | O(1) | O(1) | O(n) |
| Queue | O(1) | O(n) | O(1)* | O(1)* | O(n) |
| Priority Queue | O(1) | O(1) | O(log n) | O(log n) | O(n) |
| BST (balanced) | O(log n) | O(log n) | O(log n) | O(log n) | O(n) |
| Trie | O(m) | O(m) | O(m) | O(m) | O(ALPHABET_SIZE * m * n) |
| Graph | O(1) | O(V+E) | O(E) | O(E) | O(V+E) |
| BloomFilter | N/A | O(k) | O(k) | N/A | O(m) |
| Disjoint Set | O(α(n)) | O(α(n)) | O(α(n)) | O(α(n)) | O(n) |
| RingBuffer | O(1) | O(n) | O(1) | O(1) | O(n) |
| SkipList | O(1) | O(log n) | O(log n) | O(log n) | O(n log n) |
| LinkedList | O(n) | O(n) | O(1) | O(1)** | O(n) |
| SegmentTree | O(1) | O(log n) | O(log n) | O(log n) | O(n) |
| ArrayStack | O(1) | O(n) | O(1)* | O(1)* | O(n) |
| LinkedListStack | O(1) | O(n) | O(1) | O(1) | O(n) |
| Deque | O(1) | O(n) | O(1)* | O(1)* | O(n) |

Where:
- n is the number of elements
Expand All @@ -680,6 +688,8 @@ Where:
- V is the number of vertices
- E is the number of edges
- α(n) is the inverse Ackermann function (effectively constant)
- * indicates amortized time complexity
- ** for LinkedList, deletion is O(1) at front/back but O(n) for arbitrary position

## Contributing

Expand Down

0 comments on commit 53eb365

Please sign in to comment.