# CS 271: Trees Module: Introduction To Binary Trees

Module content developed by Professor Tralie. Module engine developed by Professor Tralie and Professor Mongan.

Below is a video from CS 174. The first 7 minutes go over the concept of binary trees, and the rest shows how to implement them in C++. Do take a moment to review the C++ implementation; we will talk about some C++ code for trees in class, because they will give us a great opportunity to practice recursion and memory management in synergy.

## Notes

- A
**binary tree**is a generalization where every node has both a`left`

and a`right`

reference to other nodes, known as the left and right**child nodes**, respectively. - Binary trees are drawn from top to bottom by convention. The top node where a binary tree starts is called the
`root`

node - If a node
`c`

is the child of a node`p`

, then`p`

is referred to as`c`

's**parent**. - Binary trees are naturally recursive data structure, as an entire
**subtree**can be spliced in by making the left child of a node be the root of that subtree.