Különbség a bináris fa és bináris keresési fa

szavazat
282

Tud valaki kérem magyarázza a különbséget bináris fa és bináris keresési fa egy példát ?

A kérdést 17/06/2011 01:42
a forrás felhasználó
Más nyelveken...                            


12 válasz

szavazat
498

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
Válaszolt 17/06/2011 01:55
a forrás felhasználó

szavazat
30

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”.

Válaszolt 05/07/2012 16:32
a forrás felhasználó

szavazat
9

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.

Válaszolt 27/02/2013 14:20
a forrás felhasználó

szavazat
12

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.

Válaszolt 28/02/2013 07:18
a forrás felhasználó

szavazat
51

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:

  1. bal gyermek csomópont kisebb, mint az eredeti csomópont
  2. jobb gyermek csomópont nagyobb, mint a szülő csomópont
Válaszolt 01/04/2013 14:19
a forrás felhasználó

szavazat
3

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.

Válaszolt 06/06/2013 06:21
a forrás felhasználó

szavazat
3

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

Válaszolt 19/02/2014 02:18
a forrás felhasználó

szavazat
1

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

Válaszolt 04/01/2015 17:59
a forrás felhasználó

szavazat
9

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 .

Válaszolt 18/03/2016 17:41
a forrás felhasználó

szavazat
4

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

írja kép leírása itt

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.

írja kép leírása itt

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

írja kép leírása itt

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.

írja kép leírása itt

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.

írja kép leírása itt

És végül nagy séma teljesítményének összehasonlítása jól ismert adat-struktúrák és algoritmusok:

írja kép leírása itt

A fényképek vett algoritmusok (4. kiadás)

Válaszolt 26/05/2017 18:45
a forrás felhasználó

szavazat
0

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.

Válaszolt 28/07/2017 21:32
a forrás felhasználó

szavazat
0

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.

Válaszolt 27/05/2019 17:09
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more