Binary trees related algorithms based on this video: https://www.youtube.com/watch?v=fAAZixBzIAI
- a binary tree is a particular type of tree in which every node has at most 2 children.
- a binary tree always has a root - a node withot a parent.
- a leaf node is a node that has no children.
- a binary tree has exactly one path between root and any node.
- an empty tree is considered a binary tree.
- binary search trees have a sorted property to them.
- each node in a Binary Search Tree has at most two children, a left child and a right child, with the left child containing values less than the parent node and the right child containing values greater than the parent node.
- a BST can't contain duplicate nodes
More info and code problems on BST can be found here.