Разбираемся с рекурсиейДополнительный аргументmedium

Бинарное дерево поиска

Один из видов бинарных деревьев — бинарные деревья поиска (BST — binary search tree).

Это такое бинарное дерево, для каждой вершины которого верно, что все вершины в ее левом поддереве меньше, чем она, а все вершины справа — больше.

Такое дополнительное условие нужно, чтобы в бинарном дереве можно было искать значение не полным перебором всех вершин, а спускаясь по дереву, все время выбирая одно направление.

Примеры

Левое дерево является BST, а правое — нет.

     5                  6      
   /   \              /   \    
  3     8            4     7   
 / \     \          /     / \      
1   4     9        2     5   8

Ваша задача — по дереву определить, является оно BST или нет. Дерево задаетя в том же формате, что и в других задачах.

const root = { value: 2, left: { value: 1, left: null, right: null, }, right: { value: 3, left: null, right: null, }, }; console.log(isBST(root)); // true