## Learning Outcomes

At the end of this lecture, you’ll be able to:

- Explain and trace the core operations of
**Map**. - Describe the difference between similar operations (
`put`

and`insert`

). - Differentiate between similar data structures: Map, Dictionary, OrderedMap.
- Implement Map using an ArrayList internally.
- Implement OrderedMap using a BST (without balancing strategies).
- Describe what
**balance property**is (in the context of BST structure). - Identify the height and
**balance factor**of binary search tree nodes. - Differentiate binary trees, binary search trees and
**balanced binary search trees**based on the structure (balance) and ordering properties.

## Lecture Plan

In this lecture, we'll cover the following lessons:

- Map ADT: The Abstraction
- Map ADT: The Interface
- Map ADT: Array-based Implementation
- OrderedMap ADT: The Interface
- OrderedMap ADT: BST Implementation⚡
- BinarySearchTreeMap: Efficiency
- BinarySearchTreeMap: Balanced BST
- BBST: Balance Factor
- BBST: Exercise I⚡
- BBST: Exercise II⚡
- BBST: Height is O(log N)

Lessons marked with ⚡ contain exercise/activity.