Я думаю, вы смешиваете яблоки и апельсины:
null
является значением в некоторых языках программирования и связано с конкретным представлением вашей реализации структуры данных
- «Пусто» - это свойство абстрактной структуры данных, которую мы называем «бинарное дерево поиска»
Теперь дерево - это упорядоченный набор: ни больше, ни меньше. Конечно, набор может быть пустым! Это означает, что в вашей реализации что-то похожее на:
MyTree tree = null
представляет пустое дерево? Ну, это зависит от вашей модели.
Например, вы можете подумать, что пустое поддерево должно быть представлено узлом без значения и ссылки на листы обнуляются: в этой модели указатель null
не имеет смысла с логической точки зрения. Но это только один подход! Подход, основанный на дозорных, - это удовольствие для программирования, но он требует большого объема памяти: тогда вы можете моделировать пустые узлы только с нулем. В этом случае указатель null
может быть пустым деревом.