The STL uses Red-Black trees for balanced tree work (at least the implementation that comes with g++). I don't recall if RB trees allow const time erases, but it could also be doing lazy deletes.
The two main downsides to decision trees are that they often don't work well with large datasets, and they are highly susceptible to model overfitting. When tackling a binary classification problem, ...