Нахождение самого большого поддерева в BST
Учитывая двоичное дерево, я хочу найти самое большое поддерево, которое является BST в нем.
Наивный подход:
Я имею в виду наивный подход, когда я посещаю каждый узел дерева и передаю этот узел функции isBST. Я также буду отслеживать количество узлов в поддереве, если это BST.
Есть ли лучший подход, чем этот?