Number of internal nodes in a Decision Tree
Building a decision tree is a process where the algorithm picks the first feature to split on $i_1$ from the set of features $n$ that it can split on $i_1={1,...,n}$. 

After splitting, the algorithm has to decide whether to stop building the tree or split on another feature $i_2={1,...,n} \ $ AND $i_2 \ne i_1$, and the process repeats where the algorithm keeps deciding whether to stop or split on a new feature $i_3={1,...,n} \ $ AND $i_3 \ne i_2 \ne i_1$. This keeps going until the algorithm decided to stop building the tree or it has split on all $n$ features and there exists no feature $i_{n+1}={1,...,n}$ that can satisfy the condition $i_{n+1} \ne i_n \ne ... \ne i_2 \ne i_1$. Thus there are no more features to split on.

Thus the maximum number of nodes has to be less than or equal to the size ($n$) of the input feature.