Правильным значением времени поиска в наихудшем случае для дерева является O (h), где h - высота дерева.Если вы используете сбалансированное дерево поиска (в котором высота дерева равна O (log n)), то время поиска - наихудший O (log n).Тем не менее, не все деревья сбалансированы.Например, вот дерево с высотой n - 1:
1
\
2
\
3
\
...
\
n
Здесь h = O (n), поэтому поиск - O (n).Правильно сказать, что время поиска также равно O (h), но h ≠ O (log n) в этом случае, и было бы ошибочным утверждать, что время поиска было O (log n).
Короче говоря, O (h) - правильная оценка.O (log n) - это правильная граница в сбалансированном дереве поиска, когда высота не превышает O (log n), но не все деревья имеют время поиска O (log n), поскольку они могут быть несбалансированными.
Надеюсь, это поможет!