What is the advantage of Day-Stout-Warren algorithm for balancing BST?
The Wikipedia article states:


  The algorithm [...] is in-place.


You algorithm requires at least twice as much space. This is a significant drawback on huge data sets.

A further possible advantage (I did not check) lies in the constant factors of the runtime function. Intuitively, you always construct a perfectly balanced BST so you may well do (lots) more work than DSW, even if you are still linear. Again, even a factor of magnitude $&lt; 10$ is significant on huge data sets.

In my opinion, this question is more interesting: why use simple BST + DSW instead of using balanced BSTs in the first place? (The answer is hinted at in the article, too.)