Sí, hay una manera mucho mejor. El llamado algoritmo transversal de árbol de preorden modificado. Puede encontrar mucha información buscando en Google esto, y estoy seguro de que también en el desbordamiento de pila.
Los beneficios son que puede obtener un subárbol completo con solo 1 consulta. Las SELECCIONES serán rápidas, pero las modificaciones son más pesadas.