Tud valaki kérem magyarázza a különbséget bináris fa és bináris keresési fa egy példát ?
Különbség a bináris fa és bináris keresési fa
Bináris fa: fa, ahol minden egyes csomópont legfeljebb két levél
1
/ \
2 3
Binary keresési fa: Használt keres . A bináris fa, ahol a bal oldali gyermek tartalmaz csak csomópontok értéke kevesebb, mint a szülő csomópont, és ahol a megfelelő gyermek csak csomópontokat tartalmazó értékek nagyobb vagy egyenlő, mint a szülő.
2
/ \
1 3
A bináris fa anyaga csomópontok, ahol minden csomópont tartalmaz egy „baloldali” pointer és egy „jobb” pointer, és az adatok elem. A „root” mutató a legfelső a fában. A balra és jobbra mutató rekurzív pont kisebb „részfák” mindkét oldalán. A null pointer jelentése bináris fa nincs elem - az üres fát. A hivatalos rekurzív definíció: a bináris fa vagy üres (képviselők null pointer), illetve készült egy csomópont, ahol a bal és a jobb mutatók (rekurzív definíció előtt) minden pontja egy bináris fa.
A bináris keresési fa (BST) vagy „rendezett bináris fa” egy olyan típusú bináris fa, ahol a csomópontok vannak elrendezve, hogy: minden egyes csomóponthoz, minden elem a bal részfa kevésbé, hogy a csomópont (<), és az elemek annak jobb részfa nagyobbak, mint a csomópont (>).
5
/ \
3 6
/ \ \
1 4 9
A fa fent látható egy bináris keresési fa - a "root" csomópont egy 5, és tőle balra részfáját csomópontok (1, 3, 4) vannak <5, és annak jobb oldali részfa csomópontok (6, 9) vannak> 5. rekurzívan mindegyik részfák kell engedelmeskedni a bináris keresési fa korlát: a (1, 3, 4) részfa, a 3 a gyökér, az 1 <3 és 4> 3.
Vigyázz a pontos megfogalmazás a problémák - a „bináris keresési fa” eltér a „bináris fa”.
A bináris keresési fa egy speciális fajtája, bináris fa, amely mutatja a következő tulajdonságot: minden csomópont n, minden leszármazott csomópont értékét a bal részfa n kisebb, mint az n értékét, és minden leszármazott csomópont értékét a jobb részfa nagyobb, mint az n értéke.
Mint mindenki felett kifejtette, mi a különbség a bináris fa és bináris keresési fa, én csak hozzá, hogyan kell tesztelni, hogy a megadott bináris fa bináris keresési fa.
boolean b = new Sample().isBinarySearchTree(n1, Integer.MIN_VALUE, Integer.MAX_VALUE);
.......
.......
.......
public boolean isBinarySearchTree(TreeNode node, int min, int max)
{
if(node == null)
{
return true;
}
boolean left = isBinarySearchTree(node.getLeft(), min, node.getValue());
boolean right = isBinarySearchTree(node.getRight(), node.getValue(), max);
return left && right && (node.getValue()<max) && (node.getValue()>=min);
}
Remélem ez segít. Bocs, ha én eltéríti a téma, mivel úgy éreztem, hogy érdemes megemlíteni ezt itt.
Bináris fa egy speciális formája, fa, két gyermek (bal és jobb oldali gyermek gyermek). Ez egyszerűen adatábrázolást fa struktúra
Bináris keresőfa (BST) egy speciális típusú bináris fa, amely követi a következő feltétel:
- bal gyermek csomópont kisebb, mint az eredeti csomópont
- jobb gyermek csomópont nagyobb, mint a szülő csomópont
A bináris fa egy fa, amelynek a gyerekek soha nem több, mint kettő. A bináris keresési fa következik az invariáns, hogy a bal gyermeknek meg kell adni egy kisebb értéket, mint a gyökér legfontosabb, míg a jobb gyermek nagyobb érték, mint a gyökér csomópont kulcsot.
Binary keresési fa: ha inorder bejárása készül a bináris fa, kapsz kiválogatott értékeit beszúrt elem bináris fa: nem rendezett sorrendben található bármilyen bejárás
Annak ellenőrzésére, időjárástól, hogy az adott bináris fa Binary keresési fa itt van egy alternatív megközelítés.
Traverse fa Inorder divat (azaz Left Child -> anya -> Jobb gyermek), Store csomópontban adatok átmeneti változó mondjuk temp , csak tárolása előtt a temp , Check wheather jelenlegi csomópont adatait magasabb, mint az előző, vagy sem . Akkor csak törni ki, a fa nem bináris keresési fa mást keresztezik amíg vége.
Az alábbiakban egy példát Java:
public static boolean isBinarySearchTree(Tree root)
{
if(root==null)
return false;
isBinarySearchTree(root.left);
if(tree.data<temp)
return false;
else
temp=tree.data;
isBinarySearchTree(root.right);
return true;
}
Fenntartása temp változót kívül
Bináris fa áll egy adatstruktúra , amely alkotja csomópontok , amelyek csak van két gyerek hivatkozásokat.
Bináris keresőfa ( BST ), a másik viszont egy speciális formája bináris fa adatstruktúra, ahol minden csomópont egy hasonló értékű, és a kisebb értékű gyerekek csatolt balra és nagyobb gyermekek értékes csatlakozik a jobb oldalon.
Így minden BST -ek bináris fa azonban csak bizonyos bináris fa 's lehet is BST . Értesíti, hogy a BST egy részhalmaza bináris fában .
Tehát, bináris fa inkább egy általános adat-struktúra, mint a bináris keresési fa . És azt is meg kell, hogy tájékoztassuk bináris keresési fa egy sorba rendezett fa mivel nincs olyan szabály a generikus bináris fában .
bináris fa
Egy Binary Treeamely nem egy BST;
5
/ \
/ \
9 2
/ \ / \
15 17 19 21
Bináris keresőfa (rendezve fa)
A bináris keresés fa , amely szintén egy bináris fa ;
50
/ \
/ \
25 75
/ \ / \
20 30 70 80
Bináris keresés Fa elágazás ingatlan
Szintén értesíti, hogy minden szülőcsomópont a BST ;
Minden baloldali csomópont kisebb érték, mint az értéke a szülő csomópont. A felső példában, a csomópontokat az értékek {20, 25, 30}, amelyek mind található a bal oldalon ( bal leszármazottai ) 50, kisebb, mint 50.
Minden a megfelelő csomópontok nagyobb értéke van, mint az értéke a szülő csomópont. A felső példában, a csomópontokat az értékek {70, 75, 80}, amelyek az összes található a jobb ( jobb leszármazottai ) 50, nagyobb, mint 50.
Nincs olyan szabály bináris fa csomópont. Az egyetlen szabály bináris fa Node, amelynek két gyermek annyira magától önmagáért, hogy miért hívják a bináris .
bináris fa
Bináris fa lehet bármi , ami van 2 gyerek, és 1 szülő. Meg lehet végrehajtani láncolt lista vagy tömb, vagy az egyéni API. Amint elkezd hozzá konkrétabb szabályokat bele, úgy válik egyre speciális fa . A leggyakoribb ismert végrehajtás az, hogy adjunk a kisebb csomópontok és bal oldalon is nagyobbak a jobb.
Például egy jelölt bináris fa méretű 9 és magassága 3, a gyökér csomópont, amelynek értéke 2. Tree kiegyensúlyozatlan és nem válogatják szét . https://en.wikipedia.org/wiki/Binary_tree
Például, a fa a bal oldalon, A jelentése a 6 gyerek {B, C, D, E, F, G}. Ez lehet alakítani bináris fa a jobb oldalon.
bináris keresés
Bináris keresést technika / algoritmus, amely használják, hogy megtalálják adott pontjára node lánc. Bináris keresés működik a rendezett tömböt .
Bináris keresés le a célérték a középső elem a tömb; ha nem egyenlők, a felét, amelyben a célpont nem tud hazudni kiesik, és a keresés folytatódik a másik fele, amíg sikeres, vagy a másik fele üres. https://en.wikipedia.org/wiki/Binary_search_algorithm
A fa képviselő bináris keresés . A tömb keresett itt [20, 30, 40, 50, 90, 100], és az előírt érték 40.
Binary keresési fa
Ez az egyik a megvalósítások bináris fa. Ez specializálódott keres .
Binary keresési fa és B-fa adatszerkezet alapulnak bináris keresés .
Bináris keresés fák (BST), néha rendezett vagy időrendi bináris fák, egy bizonyos típusú tartály : adatszerkezetek tárolására „elemek” (például számok, nevek, stb) a memóriában. https://en.wikipedia.org/wiki/Binary_search_tree
A bináris keresési fa méretű 9 és mélysége 3, 8 a gyökér. A levelek nem készült.
És végül nagy séma teljesítményének összehasonlítása jól ismert adat-struktúrák és algoritmusok:
A fényképek vett algoritmusok (4. kiadás)
Egy bináris keresési fát, az összes csomópont vannak elrendezve egy bizonyos sorrendben - csomópontok balra a gyökér csomópont kisebb értékű, mint gyökér, és az összes csomópont a jogot egy csomópont van értéke nagyobb, mint az érték a gyökér.
A fa lehet nevezni, mint egy bináris fa akkor és csak akkor, ha a maximális gyermek- bármelyik csomópont kettő.
A fa lehet nevezni, mint a bináris kereső fába akkor és csak akkor, ha a maximális gyermek- bármelyik csomópont két, a bal gyerek mindig kisebb, mint a jobb gyermek.



















