I understand AVL and Red Black are implementations of self balancing trees. But I'm curious how difficult it would be actually create a near as possible self balancing tree. To the point where the height could only be off my one node in no more than 1 branch. This would likely involve a lot of rotations. Has this been done/implemented?
I believe AVL Trees actually satisfy your condition. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property.