Tree applications
Trees model hierarchy and branching decisions. The table below maps common domains to the tree idea; later lessons show how binary trees and BSTs implement search and ordering in C.
On this page
- Real-world and systems uses (table)
- Why a tree fits—quick patterns
- Link to types and traversals next
1) Domains and examples
| Area | Example | Tree role |
|---|---|---|
| File systems | Folders and files | Directory is parent; contents are children—natural hierarchy. |
| Web / UI | HTML DOM, view hierarchies | Nested tags or widgets form a rooted tree. |
| Compilers | Abstract syntax tree (AST) | Operators and operands are nodes; structure mirrors grammar. |
| Expressions | Parsing arithmetic or logic | Operands at leaves; operators at internal nodes. |
| Search | Binary search tree (BST) | Ordering in nodes supports O(h) search when balanced. |
| Priority | Heaps (often complete binary tree) | Array-backed tree for min/max extraction. |
| Games / AI | Move trees, minimax | Positions or moves branch like a game tree. |
2) Why not just a list?
When data has one parent and nested structure, forcing it into a single linked list hides the model and complicates updates. Trees expose local subtrees—insert, delete, or traverse a branch without touching unrelated parts (subject to representation).
Key takeaway
If your problem is hierarchical, nested, or needs ordered search (BST) or heap order, a tree is the right mental model—then pick type and traversal to match your operations.
Next up: Tree versus graph · Tree types · Tree traversal methods