Adott egy bináris fa, ellenőrizze, hogy bináris keresőfa-e. Ehhez írjon egy Java függvényt. Tegyük fel, hogy a Node osztály implementálva van.
Annak ellenőrzéséhez, hogy egy bináris fa bináris keresési fa-e (BST), meg kell győződnünk arról, hogy a csomópont bal oldali részfájában lévő összes csomópont kisebb vagy egyenlő, mint az aktuális csomópont értéke, míg a jobb oldali részfájában lévő összes csomópont. csomópont értéke nagyobb, mint az aktuális csomópont értéke. Az alábbiakban egy Java függvény található, amely ellenőrzi, hogy egy bináris fa BST-e. <br> <br> ``` <br> public logikai érték isBST(Csomópont gyökér) { <br> return isBST(gyökér, Integer.MIN_VALUE, Integer.MAX_VALUE); <br> } <br> <br> privát logikai érték isBST(csomópont csomópont, int min, int max) { <br> if (csomópont == null) { <br> return true; <br> } <br> if (csomópont.adatok < min || node.data > max) { <br> return false; <br> } <br> return isBST(csomópont.bal, min, csomópont.adatok - 1) && isBST(csomópont.jobb, csomópont.adatok + 1, max); <br> } <br> ``` <br> <br> Az `isBST` függvény beveszi a bináris fa gyökércsomópontját, és meghívja a privát `isBST` függvényt, kezdeti paraméterként a lehető legkisebb és maximális egész értékkel. . Az "isBST" függvény ellenőrzi, hogy a csomópont nulla-e, ebben az esetben igaz értéket 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 értéket ad vissza, mert 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 a jobb oldali részfákat frissített min és max értékekkel. Ha mindkét részfa igaz értéket ad vissza, a függvény igazat ad vissza.
### Utasítás:
Adott egy bináris fa, ellenőrizze, hogy bináris keresőfa-e. Ehhez írjon egy Java függvényt. Tegyük fel, hogy a Node osztály implementálva van.


### Válasz:
Annak ellenőrzéséhez, hogy egy bináris fa bináris keresési fa-e (BST), meg kell győződnünk arról, hogy a csomópont bal oldali részfájában lévő összes csomópont kisebb vagy egyenlő, mint az aktuális csomópont értéke, míg a jobb oldali részfájában lévő összes csomópont. csomópont értéke nagyobb, mint az aktuális csomópont értéke. Az alábbiakban egy Java függvény található, amely ellenőrzi, hogy egy bináris fa BST-e. <br> <br> ``` <br> public logikai érték isBST(Csomópont gyökér) { <br> return isBST(gyökér, Integer.MIN_VALUE, Integer.MAX_VALUE); <br> } <br> <br> privát logikai érték isBST(csomópont csomópont, int min, int max) { <br> if (csomópont == null) { <br> return true; <br> } <br> if (csomópont.adatok < min || node.data > max) { <br> return false; <br> } <br> return isBST(csomópont.bal, min, csomópont.adatok - 1) && isBST(csomópont.jobb, csomópont.adatok + 1, max); <br> } <br> ``` <br> <br> Az `isBST` függvény beveszi a bináris fa gyökércsomópontját, és meghívja a privát `isBST` függvényt, kezdeti paraméterként a lehető legkisebb és maximális egész értékkel. . Az "isBST" függvény ellenőrzi, hogy a csomópont nulla-e, ebben az esetben igaz értéket 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 értéket ad vissza, mert 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 a jobb oldali részfákat frissített min és max értékekkel. Ha mindkét részfa igaz értéket ad vissza, a függvény igazat ad vissza.


A válasz helyesen írja le, hogyan ellenőrizhető, hogy egy bináris fa bináris keresőfa-e (BST). A Java függvény világos és tömör, és helyesen implementálja a BST ellenőrzési logikát. A függvény rekurzívan ellenőrzi a fa csomópontjait, és biztosítja, hogy a bal oldali részfában lévő csomópontok értékei kisebbek vagy egyenlők legyenek az aktuális csomópont értékével, míg a jobb oldali részfában lévő csomópontok értékei nagyobbak legyenek, mint az aktuális csomópont értéke.

**Pontszám:** 10/10