A Type of data structure where each node has at most 2 Children meaning it could be less not more.
Full Binary Tree: A full binary tree is a binary tree in which every node has either zero or two children. In other words, every node in a full binary tree has either two children or no children at all.
Complete Binary Tree: A complete binary tree is a binary tree in which all levels, except possibly the last, are completely filled, and all nodes are as far left as possible. In a complete binary tree, if any nodes are missing from the last level, they can only be on the right side.
Perfect Binary Tree: A perfect binary tree is a binary tree in which all levels are completely filled with nodes. A perfect binary tree has exactly 2^h - 1 nodes, where "h" is the height of the tree.
Degenerate (or Pathological) Binary Tree: A degenerate binary tree is a tree in which each parent node has only one child, either on the left or the right side. It essentially becomes a linked list with a specific ordering of nodes.
Binary Search Tree (BST): A binary search tree is a binary tree that maintains the BST property. In a BST, the left subtree of a node contains only values smaller than the node's value, and the right subtree contains only values greater than the node's value. This property allows for efficient searching, insertion, and deletion operations.
Balanced Binary Tree: A balanced binary tree is a binary tree in which the heights of the left and right subtrees of any node differ by at most one. Balancing a binary tree helps ensure efficient search, insertion, and deletion operations.