Trees
Data representation used when amount of data is unknown or variable. Particularly useful when data items have hierarchical relationships.
Declarative piece: nodes and edges.
Procedural piece: insert, delete, search, sort, inheritance, inference, etc.
Examples: binary trees, discrimination nets, game trees, planning (AND/OR) trees, ...