instruction: Adott egy bináris fa, ellenőrizze, hogy az egy bináris keresőfa-e. Írjon egy Java függvényt erre a feladatra. Tegyük fel, hogy a Node osztály implementálva van.
output: Annak ellenőrzéséhez, hogy egy bináris fa bináris keresőfa (BST)-e, meg kell győződnünk arról, hogy egy csomópont bal oldali részfájának minden csomópontja kisebb vagy egyenlő az aktuális csomópont értékével, míg egy csomópont jobb oldali részfájának minden csomópontja nagyobb az aktuális csomópont értékénél. Az alábbiakban egy Java függvényt mutatunk be, amely ellenőrzi, hogy egy bináris fa BST-e.
  
  ```
  public boolean isBST(Node root) {
      return isBST(root, Integer.MIN_VALUE, Integer.MAX_VALUE);
  }
  
  private boolean isBST(Node node, int min, int max) {
      if (node == null) {
          return true;
      }
      if (node.data < min || node.data > max) {
          return false;
      }
      return isBST(node.left, min, node.data - 1) && isBST(node.right, node.data + 1, max);
  }
  ```
  
  Az `isBST` függvény átveszi a bináris fa gyökércsomópontját, és meghívja a privát `isBST` függvényt a minimális és maximális lehetséges egész számértékekkel, mint kezdeti paraméterekkel. Az `isBST` függvény ellenőrzi, hogy a csomópont null-e, ebben az esetben igazat ad vissza. Ellenkező esetben ellenőrzi, hogy a csomópont értéke a megadott min és max tartományon belül van-e. Ha nem, akkor false-t ad vissza, mivel a csomópont sérti a BST tulajdonságot. Ha az érték a megadott tartományon belül van, akkor rekurzívan ellenőrzi a bal és jobb oldali részfákat a frissített min és max értékekkel. Ha mindkét részfa igazat ad vissza, a függvény igazat ad vissza.