Please see my comment to the question. The request of converting
a binary tree into a "complete tree" (you can only talk about
complete binary tree) is the absurd.
There are two meanings of this term "complete binary tree", one of them is also used instead of more certain term "
perfect binary tree":
http://en.wikipedia.org/wiki/Binary_tree[
^].
In both cases, a tree remains a binary tree; and the code is the same. Its "perfectness" or "completeness" depends in input data used to populate the tree. The algorithm remains the same. Likewise, your notion of "making a complete tree recursive" is just a misnomer. "Recursive" is a characteristic of an algorithm, not a data structure:
http://en.wikipedia.org/wiki/Recursive[
^],
http://en.wikipedia.org/wiki/Recursion_%28computer_science%29[
^].
Even though many data structures are themselves organically related to recursion (such as
fractals, or, in some trivial way, all the tree structures, not only binary trees), saying to "make a tree recursive" is just a kind of
word salad (
http://en.wikipedia.org/wiki/Word_salad[
^]).
—SA