Overview
A Data Structure is a specialized format for organizing, processing, retrieving, and storing data in computer memory so that operations can be executed efficiently. This index categorizes foundational linear layouts, abstract data type (ADT) behaviors, hierarchical trees, and computational complexity models.
1. Fundamentals & Linear Structures
This module covers physical memory organization and core sequential arrangements:
- Data Structures vs. ADTs: Distinguishing physical storage mechanics from logical behavioural contracts.
- Array Lists: Dynamic contiguous memory storage supporting random indexing.
- Linked Lists: Sequential node chains connected via explicit pointers.
- Circular Arrays: Memory-efficient ring buffers for fixed-size capacity queues.
2. Common Abstract Data Types (ADTs)
Logical interfaces that define operational contracts regardless of underlying backing storage:
- Stack: LIFO (Last-In, First-Out) push/pop pipeline.
- Queue: FIFO (First-In, First-Out) enqueue/dequeue pipeline.
- Deque: Double-ended queue allowing operations at both ends.
- Priority Queue: Elements ordered and retrieved based on priority rankings.
- Set: Collection tracking unique elements.
- Hash Map: Key-value associative container.
- Pair: Lightweight two-element heterogeneous container.
3. Tree & Hierarchical Structures
Data organizations optimized for fast searching, sorting, and priority-based access:
- Binary Tree: Rooted topology limiting child branching to at most 2 nodes per parent.
- Binary Search Tree (BST): Sorted structure providing average search efficiency.
- Heap: Complete binary tree mapped to flat arrays for priority root access.
- FP-Tree: Dense prefix tree for mining frequent itemsets without candidate generation.
4. Summary Index by Categorization
By Storage Layout
- Linear: Arrays, Linked Lists, Circular Buffers.
- Non-Linear: Trees, Heaps, Graphs, Tries.
By Access Pattern (ADTs)
- Sequential: Stacks, Queues, Deques.
- Associative: Hash Maps, Sets, Pairs.
- Ranked: Priority Queues, Binary Heaps.