Diferența dintre arbore binar si arbore binar de căutare

voturi
282

Poate cineva vă rugăm să explicați diferența dintre arbore binar si arbore binar de căutare cu un exemplu ?

Întrebat 17/06/2011 la 01:42
sursa de către utilizator
În alte limbi...                            


12 răspunsuri

voturi
498

arbore binar: arbore în care fiecare nod are până la două frunze

  1
 / \
2   3

Arbore binar de căutare: Folosit pentru căutarea . Un arbore binar în cazul în care copilul rămas conține numai noduri cu valori mai mici decât nodul părinte, iar în cazul în care copilul dreapta numai conține noduri cu valori mai mari sau egale cu părintele.

  2
 / \
1   3
Publicat 17/06/2011 la 01:55
sursa de către utilizator

voturi
30

Un arbore binar este format din noduri, în cazul în care fiecare nod conține un pointer „stânga“, un indicator „dreapta“, și un element de date. „Root“ , indicatorul la nodul din cea mai de sus copac. Stânga și în dreapta pointeri punct recursiv la „subarbori“ mai mici pe fiecare parte. Un pointer nul reprezintă un arbore binar cu nici un element - copac gol. Definiția formală recursiv este: un arbore binar este fie gol (reprezentat printr - un pointer nul), sau este format dintr - un singur nod, în cazul în care indicatoarele din stânga și dreapta (definiție recursiv înainte) fiecare punct într - un arbore binar.

Un arbore binar de căutare (BST) sau „ordonat arbore binar“ este un tip de arbore binar în care nodurile sunt aranjate în ordine: pentru fiecare nod, toate elementele din subarborele stâng sunt mai puțin la nodul (<), și toate elementele în subarborele dreptul său sunt mai mari decât nodul (>).

    5
   / \
  3   6 
 / \   \
1   4   9    

Arborele prezentat mai sus este un arbore binar de căutare - „root“ nod este 5, iar nodurile subarborelui stânga (1, 3, 4) sunt <5, și nodurile subarborelui dreapta (6, 9) sunt> 5. recursiv, fiecare dintre subramificații trebuie să se supună, de asemenea, binar constrângere căutare arbore: în (1, 3, 4) subarborele, 3 este rădăcina, pentru 1 <3 și 4> 3.

Ferește-te pentru formularea exactă în problemele - un „arbore binar de căutare“ este diferit de un „arbore binar“.

Publicat 05/07/2012 la 16:32
sursa de către utilizator

voturi
9

Un arbore binar de căutare este un tip special de arbore binar care prezintă următoarea proprietate: pentru orice nod n, valoarea fiecărui nod descendent în subarborele stâng al n este mai mică decât valoarea lui n, și valoarea fiecărui nod descendent în subarborelui drept mai mare decât valoarea lui n.

Publicat 27/02/2013 la 14:20
sursa de către utilizator

voturi
12

După cum toată lumea de mai sus a explicat despre diferența dintre arbore binar si arbore binar de căutare, eu sunt doar adăugarea de modul de a testa dacă dat arborele binar este binar arbore de căutare.

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

}

Sper că vă va ajuta. Ne pare rău dacă eu sunt de deviere de la subiect așa cum am simțit că merită menționat acest lucru aici.

Publicat 28/02/2013 la 07:18
sursa de către utilizator

voturi
51

Binar Arborele este o formă specializată de copac cu doi copii (copilstânga șidreaptacopii). Este pursimplureprezentare a datelor în structura arborescentă

Binar de căutare arbore (BST) este un tip special de arbore binar care urmează următoarea condiție:

  1. nod copil stânga este mai mică decât nodul său părinte
  2. nodul copil dreapta este mai mare decât nodul său părinte
Publicat 01/04/2013 la 14:19
sursa de către utilizator

voturi
3

Un arbore binar este un copac a cărui copii nu sunt niciodată mai mult de două. Un arbore binar de căutare urmează invarianta că copilul din stânga ar trebui să aibă o valoare mai mică decât cheia nodului rădăcină, în timp ce copilul drept ar trebui să aibă o valoare mai mare decât cheia nodului root.

Publicat 06/06/2013 la 06:21
sursa de către utilizator

voturi
3

Căutare binară copac: atunci când inordine Traversarea se face pe arbore binar, veți obține valori extrase din elemente inserate arbore binar: nici un ordin sortat se gaseste in orice fel de parcurgeri

Publicat 19/02/2014 la 02:18
sursa de către utilizator

voturi
1

Pentru a verifica wheather sau nu un anumit binar copac este binar Arborele de căutare aici este o abordare alternativă.

Traverse Tree Inorder Fashion ( de exemplu pentru copii stânga -> părinte -> Dreptul copilului), Magazin traversată Nodul de date într - o variabilă temporară vă permite să spunem temp , chiar înainte de a depozita în temp , datele Verificați wheather curent nodului este mai mare decât cel anterior sau nu . Apoi , pur și simplu rupe - l, copac nu este binar de căutare arbore altceva traversa pana la sfarsitul.

Mai jos este un exemplu cu 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;
}

Menținerea variabilă temp afara

Publicat 04/01/2015 la 17:59
sursa de către utilizator

voturi
9

Binar copac reprezintă o structură de date , care este formată din noduri care pot doar au doi copii referințe.

Binar de căutare copac ( BST ) , pe de altă parte, este o formă specială de binar copac structura de date în cazul în care fiecare nod are o valoare comparabilă, iar copiii mai mici evaluate atașate la stânga și copii mai mari , în valoare atașat la dreapta.

Astfel, toate BST lui sunt binar copac , dar numai unele binar Arborele lui poate fi , de asemenea , BST . Anunță că BST este un subset al binar copac .

Deci, binar Arborele este mai mult o structura de date generale decât binar de căutare copac . Și , de asemenea , trebuie să înștiințăm că binar de căutare Arborele este un sortat copac întrucât nu există un astfel de set de reguli pentru generice binar copac .

Arbore binar

O Binary Treecare nu o BST;

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

Binar de căutare copac (sortate copac)

Un arbore binar de căutare , care este , de asemenea , un arbore binar ;

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

Binar de căutare de proprietate copac Nod

De asemenea , notifică faptul că pentru orice nod părinte în BST ;

  • Toate nodurile de stânga au o valoare mai mică decât valoarea nodului părinte. În exemplul de sus, nodurile cu valori {20, 25, 30} care sunt situate în partea stângă ( descendenți din stânga ) de 50, sunt mai mici decât 50.

  • Toate nodurile din dreapta au o valoare mai mare decât valoarea nodului părinte. În exemplul de sus, nodurile cu valori {70, 75, 80} care sunt toate situate pe dreapta ( descendenți din dreapta ) de 50, sunt mai mari de 50 de ani .

Nu există nici o astfel de regulă pentru binar copac Nod. Singura regulă pentru binar copac Nod are doi copii , deci se auto-explică faptul că motivul numit binar .

Publicat 18/03/2016 la 17:41
sursa de către utilizator

voturi
4

arbore binar

Arbore binar poate fi ceva care are 2 copii și un părinte. Acesta poate fi pus în aplicare sub forma unei liste sau matrice legate, sau cu API - ul personalizat. După ce începeți să adăugați reguli mai specifice în el, devine mai copac specializat . Punerea în aplicare Cele mai frecvente cunoscut este faptul că, adăugați noduri mai mici de pe stânga și cele mai mari pe dreapta.

De exemplu, un arbore binar marcat de dimensiuni 9 și înălțime 3, cu un nod rădăcină a cărui valoare este 2. Arborele este dezechilibrată și nu sortate . https://en.wikipedia.org/wiki/Binary_tree

introduceți descrierea imaginii aici

De exemplu, în arborele din stânga, A are 6 copii {B, C, D, E, F, G}. Acesta poate fi transformat în arborele binar pe dreapta.

introduceți descrierea imaginii aici

Căutare binară

Binar de căutare este tehnica / algoritm care este folosit pentru a găsi element specific pe lanțul de nod. Căutare binară funcționează pe matrice sortate .

Căutare binară compară valoarea țintă la elementul de mijloc al șirului; în cazul în care acestea sunt inegale, jumătate în care ținta nu poate minți este eliminată și căutarea continuă pe jumătatea rămasă până când este de succes sau jumătatea rămasă este gol. https://en.wikipedia.org/wiki/Binary_search_algorithm

introduceți descrierea imaginii aici

Un arbore reprezentând binar de căutare . Șirul căutat aici este [20, 30, 40, 50, 90, 100], iar valoarea țintă este de 40.

introduceți descrierea imaginii aici

arbore binar de căutare

Aceasta este una dintre implementările arborelui binar. Acest lucru este specializat pentru căutarea .

Structuri de date binare de arbori de căutare și B-arbori se bazează pe căutarea binară .

Binar de căutare copaci (BST), numit uneori ordonate sau sortate arbori binari, un anumit tip de container : structuri de date care stochează „elemente“ (cum ar fi numere, nume etc.) în memorie. https://en.wikipedia.org/wiki/Binary_search_tree

Un arbore binar de căutare de dimensiune 9 și adâncimea 3, cu 8 la rădăcină. Frunzele nu sunt desenate.

introduceți descrierea imaginii aici

Și, în final, o mare schemă pentru compararea performanțelor de date și algoritmi-structuri bine cunoscute aplicate:

introduceți descrierea imaginii aici

Imaginea a fost preluată de la Algoritmi (ediția a 4)

Publicat 26/05/2017 la 18:45
sursa de către utilizator

voturi
0

Într-un arbore binar de căutare, toate nodurile sunt aranjate într-o anumită ordine - noduri la stânga unui nod rădăcină au o valoare mai mică decât este rădăcină, și toate nodurile la dreapta unui nod au valori mai mari decât valoarea rădăcină.

Publicat 28/07/2017 la 21:32
sursa de către utilizator

voturi
0

Un copac poate fi numit ca un arbore binar, dacă și numai dacă numărul maxim de copii de la oricare dintre noduri este de două.

Un copac poate fi numit ca un arbore binar de căutare, dacă și numai dacă numărul maxim de copii de la oricare dintre noduri este de două, iar copilul stânga este întotdeauna mai mică decât copilul din dreapta.

Publicat 27/05/2019 la 17:09
sursa de către utilizator

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