Чтобы проверить, является ли данное дерево разрешенными дубликатами, это двоичное дерево поиска - PullRequest
0 голосов
/ 02 апреля 2020

Я знаю, как проверить, является ли данное дерево двоичным или нет. Но проблема в том, что если дерево содержит повторяющиеся значения.

Как проверить, является ли дерево, которое может содержать повторяющиеся значения, двоичным деревом поиска или нет. Повторяющиеся значения должны быть справа от дерево / поддерево.

1 Ответ

0 голосов
/ 02 апреля 2020

В программе бинарного дерева поиска, когда вы добавляете проверку, является ли дерево справа BST или нет, тогда проверьте, является ли значение справа больше или равно. Например,

bool BST(BinaryTree root){
 bool returnValue=false;
  if(root!=null){
    if(root.left!=null){
      if (root.left.data < root.data){
       returnValue=BST(root.left);
      }
    }
    if(root.right!=null){
       if(root.right.data >= root.data){
          returnValue=BST(root.right);
       }
   }
   return returnValue;
 }
}
...