Data Structures Portal
data/lecture/information/algorithm/foundation/computational-complexity-basics.lecture.n.md
1Introduction
This sequence distinguishes the operations provided by a data structure from the implementation that realizes them and explains how to select a structure appropriate for a task.
2Abstract data types and implementations
An abstract data type (ADT) specifies a contract for the values it stores and the operations available to clients. An implementation is a concrete realization of that contract using an array, linked list, tree, or another representation. Two implementations of the same ADT can have different time and space complexities.
Each lecture examines operation preconditions and postconditions, behavior on an empty structure, implementation assumptions, and complexity, in that order.
3Learning order
- Stacks and queues define LIFO and FIFO removal orders and connect them to candidate management in DFS and BFS.
- Hash tables address key-based lookup and collision handling.
- Trees and heaps address hierarchical structure and priority-based operations.
- Disjoint-set data structures address set union and membership queries.