Forskjellen mellom binære treet og binært søketre

stemmer
290

Kan noen vennligst forklare forskjellen mellom binære treet og binært søketre med et eksempel ?

Publisert på 17/06/2011 klokken 00:42
kilden bruker
På andre språk...                            


12 svar

stemmer
507

Binært tre: Tre der hver node har opp til to blader

  1
 / \
2   3

Binært søketre: Brukes til å søke . Et binært tre, hvor det venstre barnet inneholder bare nodene med verdier som er mindre enn foreldrenoden, og hvor den høyre barnet kun inneholder noder med verdier som er større enn eller lik den overordnede.

  2
 / \
1   3
Svarte 17/06/2011 kl. 00:55
kilden bruker

stemmer
31

Et binært tre er laget av noder, hvor hver node inneholder en "venstre" -pekeren, en "riktig" pekeren, og et dataelement. "Rot" -pekeren peker til den øverste node i treet. Venstre og høyre pekere rekursivt peke på mindre "undertrær" på hver side. En nullpeker representerer et binært tre med ingen elementer - den tomme treet. Den formelle rekursive definisjon er: et binært tre er enten tom (representert ved en nullpeker), eller er fremstilt av en enkelt node, hvor venstre og høyre pekere (rekursiv definisjon foran) hvert punkt til et binært tre.

Et binært søk tre (BST) eller "ordnet binært tre" er en type av binært tre hvor nodene er ordnet i rekkefølge: for hver node, er alle elementer i dens venstre subtre er mindre til noden (<), og alle elementene i sin høyre subtre er større enn noden (>).

    5
   / \
  3   6 
 / \   \
1   4   9    

Treet er vist ovenfor er et binært søk tre - "roten" node er en 5, og dens venstre undertreet noder (1, 3, 4) er <5, og dens riktige undertreet noder (6, 9) er> 5. rekursivt, hver av undertrærne også må adlyde binært søk treet begrensning: i (1, 3, 4) undertreet, 3 er roten, 1 <3 og 4> 3.

Se opp for den eksakte ordlyden i problemene - en "binært søketre" er forskjellig fra en "binær treet".

Svarte 05/07/2012 kl. 15:32
kilden bruker

stemmer
10

En binært søketre er en spesiell type binært tre som har følgende egenskap: for enhver node n, hver kommer nodens verdi i venstre subtre av n er mindre enn verdien av n, og hver etterkommer nodens verdi i riktig treet er større enn verdien av n.

Svarte 27/02/2013 kl. 13:20
kilden bruker

stemmer
13

Som alle ovenfor har forklart om forskjellen mellom binære treet og binært søketre, er jeg bare legge hvordan å teste om den gitte binære treet er binært søketre.

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);

}

Håper det vil hjelpe deg. Beklager hvis jeg avlede fra emnet som jeg følte det er verdt å nevne dette her.

Svarte 28/02/2013 kl. 06:18
kilden bruker

stemmer
53

Binary treet er en spesialisert form for tre med to barn (venstre barn og høyre barn). Det er rett og slett representasjon av data i trestruktur

Binært søketre (BST) er en spesiell type binære treet som følger følgende betingelse:

  1. venstre barnenode er mindre enn dens moder Node
  2. riktig barnenode er større enn moder Node
Svarte 01/04/2013 kl. 13:19
kilden bruker

stemmer
4

En binærtreet er et tre som har barn er aldri mer enn to. En binært søketre følger invariant at venstre barn skal ha en mindre verdi enn rotnoden nøkkelen, mens den høyre barnet bør ha en større verdi enn rotnoden nøkkel.

Svarte 06/06/2013 kl. 05:21
kilden bruker

stemmer
4

Binært søketre: når inorder traversering er gjort på binært tre, får du sorterte verdier av innsatte elementer Binary treet: nei sortert rekkefølge er funnet i noen form for traversering

Svarte 19/02/2014 kl. 01:18
kilden bruker

stemmer
3

For å sjekke wheather eller ikke en gitt Binary treet er binært søketre her er er en alternativ tilnærming.

Traverse Tree In Inorder Fashion (dvs. Venstre Child -> Parent -> Høyre barn), Oppbevares krysset Node data i en midlertidig variabel kan si temp , like før lagring i temp , Sjekk wheather nåværende Node data er høyere enn forrige eller ikke . Så bare bryte ut av det, er treet ikke binært søketre annet krysse inntil enden.

Nedenfor er et eksempel med 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;
}

Opprettholde temp variabel utenfor

Svarte 04/01/2015 kl. 17:59
kilden bruker

stemmer
10

Binary treet står for en datastruktur som består av noder som kan bare ha to barn referanser.

Binært søketre ( BST ) på den annen side, er en spesiell form for binære treet datastruktur der hver node har en sammenlignbar verdi, og mindre verdsatt barn knyttet til venstre og større verdsatte barn festet til høyre.

Dermed all BST 's er Binary Tre imidlertid kun noen Binary treet er kanskje også BST . Varsle at BST er en undergruppe av Binary treet .

Så, Binary treet er mer en generell datastruktur enn binært søketre . Og har du også til å varsle at binært søketre er sortert treet, mens det ikke er slik sett med regler for generiske Binary treet .

Binary treet

En Binary Treesom er ikke et BST;

         5
       /   \
      /     \
     9       2
    / \     / \
  15   17  19  21

Binært søketre (sortert Tre)

En binært søketre som også er et binært tre ;

         50
       /    \
      /      \
     25      75
    /  \    /  \
  20    30 70   80

Binært søketre Node eiendom

Også varsle at for ethvert foreldrenoden i BST ;

  • Alle de venstre nodene har mindre verdi enn verdien av foreldrenoden. I den øvre eksempel nodene som har verdier {20, 25, 30}, som er alle plassert på venstre ( venstre etterkommere ) på 50, er mindre enn 50.

  • Alle de riktige noder har større verdi enn verdien av foreldrenoden. I den øvre eksempel nodene som har verdier {70, 75, 80}, som er alle plassert på høyre ( høyre etterkommere ) på 50, er større enn 50.

Det er ingen slik regel for Binary Tre Node. Den eneste regelen for Binary Tre Node er å ha to barne så det selv forklarer seg selv at hvorfor kalles binær .

Svarte 18/03/2016 kl. 17:41
kilden bruker

stemmer
5

binærtreet

Binary treet kan være noe som har to barn og en forelder. Det kan implementeres som lenket liste eller matrise, eller med den tilpassede API. Når du begynner å legge til mer spesifikke regler i det, blir det mer spesialiserte treet . Vanligste kjent implementering er det, legger mindre noder på venstre og større funn på høyre.

For eksempel kan et merket binært tre av størrelse 9 og høyde 3, med en rotnode hvis verdi er 2. treet er ubalansert og ikke sortert . https://en.wikipedia.org/wiki/Binary_tree

skriv bildebeskrivelse her

For eksempel, i treet på venstre side, har en 6 barn {B, C, D, E, F, G}. Det kan bli omdannet til den binære treet til høyre.

skriv bildebeskrivelse her

Binary Søk

Binary Search er teknikk / algoritme som brukes til å finne bestemt element på node-kjeden. Binary søk fungerer på sorterte arrays .

Binær søk sammen målverdien til den midtre element i matrisen; hvis de er ulike, er halverings der målet ikke kan ligge eliminert og søket fortsetter på den resterende halvparten før det er vellykket eller resterende halvparten er tom. https://en.wikipedia.org/wiki/Binary_search_algorithm

skriv bildebeskrivelse her

Et tre som representerer binære søk . Matrisen blir søkt her er [20, 30, 40, 50, 90, 100], og målverdien er 40.

skriv bildebeskrivelse her

Binært søketre

Dette er en av de implementeringer av binære treet. Dette er spesialisert for å søke .

Binært søketre og B-tre datastrukturer er basert på binære søk .

Binære søketrær (BST), også kalt bestilt eller sortert binære trær, er en spesiell type container : datastrukturer som lagrer "elementer" (som tall, navn etc.) i minnet. https://en.wikipedia.org/wiki/Binary_search_tree

Et binært søk tre av størrelse og dybde 9 3, med 8 ved roten. Bladene er ikke trukket.

skriv bildebeskrivelse her

Og til slutt stor skjema for ytelse sammenligning kjente datastrukturer og algoritmer brukt:

skriv bildebeskrivelse her

Bilde tatt fra Algoritmer (4th Edition)

Svarte 26/05/2017 kl. 18:45
kilden bruker

stemmer
1

I en binær søke tre, er alle nodene ordnet i en bestemt rekkefølge - noder til venstre for en rotnode har en mindre verdi enn det er rot, og alle nodene til høyre for en node har verdier som er større enn verdien av rot.

Svarte 28/07/2017 kl. 21:32
kilden bruker

stemmer
0

Et tre kan kalles som et binært tre hvis og bare hvis det maksimale antall barn i alle nodene er to.

Et tre kan kalles som et binært søketre hvis og bare hvis det maksimale antall barn i alle nodene er to og venstre barnet er alltid mindre enn den høyre barn.

Svarte 27/05/2019 kl. 17:09
kilden bruker

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