data Tree a = Empty | Node (Tree a) a (Tree a)
naive_find :: (Ord a) => (Tree a) -> a -> Bool
naive_find Empty _ = False
naive_find (Node t1 v t2) x
| x == v = True
| x < v = naive_find t1 x
| x > v = naive_find t2 x
eso es un fragmento de mi actual bst código, od supuesto, hay otras funciones, pero yo no creo que sea necesario para la pregunta. necesito reducir el anterior 2d complejidad a d + 1, pero no siempre tengo esas comparaciones anteriores para obtener a través de la búsqueda del árbol, como mínimo? Gracias. Cualquier ayuda apreciada