I'm having some trouble proving what my title states. Some textbooks refer to almost complete binary trees as complete, so to make myself clear, when I say almost complete binary tree I mean a binary tree whose levels are all full except for the last one in which all the nodes are as far left as possible.
I thought of proving it using induction but I'm not really sure how to do so. Any ideas?
UPDATE
Well I made somewhat of a progress but I also got a somewhat different result, here's what I did:
Let $T$ be an almost complete tree of height $h$ meaning that in the level of height $h$ there should be at least 1 node. Considering the fact that every height has double the number of nodes of the previous level we can derive that $T$ has the least possible number of nodes in the case that at $h$-level there is only one node. (1)
In that case the number of leaf nodes is
$l=2^{h-1}-1+1 \Rightarrow l=2^{h-1}$ and the number of total nodes is
$n=2^{h-1}-1+1$
$\Rightarrow l=2^{h-1}=\frac{2(2^{h-1}+1)}{2}=\frac{n+1}{2}$
$\xrightarrow{(1)(2)} l \geq\frac{n+1}{2}$
Now, I'm getting a bit closer but not really there yet. First problem is that I got $l \geq \frac{n+1}{2}$ and not $l \geq \frac{n}{2}$ which from what I understand stands only in the specific case that $h=1$. Second problem is that this doesn't seem like a formal proof... Any tips/suggestions?