Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
4 views3 pages

Data Structures Comparison Sections

Uploaded by

baludoantonio
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Data Structures Comparison Sections

Uploaded by

baludoantonio
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Data Structure Comparison (Detailed Guide)

Array
How It Works: Fixed-size collection stored in contiguous memory.
Advantages: Fast access (O(1)), cache friendly.
Disadvantages: Insertion/deletion costly (O(n)), fixed size.
Applications: Lookup tables, matrices, static data.
Big-O: Access O(1), Search O(n), Insert/Delete O(n).

Linked List
How It Works: Nodes linked with pointers (singly, doubly, or circular).
Advantages: Dynamic size, efficient insert/delete at ends.
Disadvantages: Extra memory for pointers, slow access O(n).
Applications: Undo/redo, hash chaining, memory management.
Big-O: Access O(n), Insert/Delete O(1) at head.

Stack
How It Works: LIFO (Last In, First Out).
Advantages: Simple, efficient push/pop.
Disadvantages: Limited access (only top element).
Applications: Expression evaluation, backtracking, recursion.
Big-O: Push/Pop O(1).

Queue
How It Works: FIFO (First In, First Out).
Advantages: Efficient scheduling, fair order.
Disadvantages: Limited random access.
Applications: OS scheduling, buffering, BFS.
Big-O: Enqueue/Dequeue O(1).

Hash Table
How It Works: Keys mapped to indices by a hash function.
Advantages: Very fast average search/insert (O(1)).
Disadvantages: Collisions can degrade to O(n), memory overhead.
Applications: Databases, caches, dictionaries.
Big-O: Average O(1), Worst O(n).

Binary Search Tree (BST)


How It Works: Binary tree where left < root < right.
Advantages: Efficient search if balanced.
Disadvantages: Can degrade to linked list if unbalanced.
Applications: Searching, sorting, sets.
Big-O: Balanced: O(log n); Skewed: O(n).

AVL Tree
How It Works: Self-balancing BST.
Advantages: Always balanced, guarantees O(log n) ops.
Disadvantages: More rotations needed on updates.
Applications: Databases, search-intensive systems.
Big-O: Search/Insert/Delete O(log n).

Red-Black Tree
How It Works: Balanced BST with color rules.
Advantages: Fewer rotations, efficient balance.
Disadvantages: Slightly slower lookups than AVL.
Applications: Linux kernel, Java Collections.
Big-O: Search/Insert/Delete O(log n).

Heap (Min/Max)
How It Works: Complete binary tree with heap property.
Advantages: Fast min/max retrieval.
Disadvantages: Not good for arbitrary search.
Applications: Priority queues, heapsort.
Big-O: Insert/Delete O(log n).

Trie
How It Works: Tree structure storing strings by prefix.
Advantages: Fast prefix search.
Disadvantages: High memory usage.
Applications: Autocomplete, spell check, IP routing.
Big-O: Search/Insert O(L), L=length of word.

Graph
How It Works: Vertices connected by edges.
Advantages: Models complex relationships.
Disadvantages: Memory-heavy for dense graphs.
Applications: Networks, routing, social media.
Big-O: BFS/DFS O(V+E).
Skip List
How It Works: Layered linked list with probabilistic jumps.
Advantages: Search in O(log n).
Disadvantages: Requires randomness, more pointers.
Applications: In-memory databases (e.g. Redis).
Big-O: Search/Insert/Delete O(log n).

Disjoint Set (Union-Find)


How It Works: Tracks connected components.
Advantages: Extremely fast union/find.
Disadvantages: Limited to connectivity problems.
Applications: Kruskal’s MST, clustering.
Big-O: O(α(n)) ≈ constant time.

Segment Tree
How It Works: Binary tree for storing intervals/ranges.
Advantages: Fast range queries and updates.
Disadvantages: Complex, high memory usage.
Applications: Range sums, min/max, competitive programming.
Big-O: Query/Update O(log n).

Fenwick Tree (BIT)


How It Works: Compact tree for prefix sums.
Advantages: Less memory than Segment Tree.
Disadvantages: Limited to cumulative queries.
Applications: Competitive programming.
Big-O: Update/Query O(log n).

Bloom Filter
How It Works: Probabilistic bit array with multiple hash functions.
Advantages: Very space-efficient, fast.
Disadvantages: False positives possible.
Applications: Spam filtering, cache lookups.
Big-O: Insert/Search O(k), k=hash functions.

You might also like