 <p>Since traversing a <a href="http://en.wikipedia.org/wiki/Binary_tree" rel="nofollow noreferrer">binary tree</a> requires some kind of state (nodes to return after visiting successors) which could be provided by stack implied by recursion (or explicit by an array).</p> <p>The answer is no, you can't. (according to the classic definition)</p> <p>The closest thing to a binary tree traversal in an iterative way is probably using a <a href="http://en.wikipedia.org/wiki/Heap_%28data_structure%29" rel="nofollow noreferrer">heap</a></p> <p>EDIT: Or as already shown a <a href="http://en.wikipedia.org/wiki/Threaded_binary_tree" rel="nofollow noreferrer">threaded binary tree</a> ,</p>