Binärt träd är en hierarkisk datastruktur där varje nod har noll, en eller högst två barn. Varje nod innehåller en "vänster" pekare, en "höger" pekare och ett dataelement. Roten-pekaren representerar den högsta noden i trädet. Varje nod i datastrukturen är direkt kopplad till godtyckligt antal noder på vardera sidan, kallad barn. En nollpekare representerar binärträdet. Det finns ingen särskild ordning för hur noderna ska organiseras i binärträdet. Noder utan några barn noder kallas bladnoder eller externa noder.
Enkelt uttryckt definierar den en organiserad märkningsfunktion på noderna, som i sin tur tilldelar något slumpmässigt värde till varje nod. Allt som har två barn och en förälder nod är ett binärt träd. Binära träd används för att lagra information som bildar en hierarki som filsystemet på din persondator. Till skillnad från arrays har träd inte någon övre gräns för antalet noder eftersom de är länkade med hjälp av pekare, som Linked Lists. Huvudfunktionerna hos binära träd innefattar att representera hierarkiska data, sortera datalistor, tillhandahålla effektiva insats- / raderingsoperationer, etc. Trädnoder representeras med hjälp av strukturer i C.
Ett binärt sökträd är en typ av binär träddatastruktur, i vilken noderna är ordnade i ordning, alltså också kallad "beställt binärt träd". Det är en nodbaserad datastruktur som ger ett effektivt och snabbt sätt att sortera, hämta, söka data. För varje nod måste elementen i den vänstra delträdet vara mindre än eller lika med nyckeln i dess moderkod (LP). Det borde inte finnas några dubbla nycklar. Enkelt uttryckt är det en speciell typ av binär träddatastruktur som effektivt lagrar och hanterar objekt i minnet.
Det möjliggör snabb åtkomst av information, infogning och borttagning av data, plus det kan användas för att implementera uppslagstabeller som tillåter att söka objekt med sina unika nycklar, som att söka efter en persons telefonnummer med namn. De unika nycklarna sorteras på ett organiserat sätt, så att sökning och annan dynamisk verksamhet kan utföras med binär sökning. Den stöder tre huvudoperationer: sökning av element, införande av element och radering av element. Binärt sökträ möjliggör snabb hämtning av element som är lagrade i trädet, eftersom varje nodnyckel är grundligt jämförd med rotknutpunkten, vilken kasserar hälften av trädet.
Binärt träd | Binärt sökträd |
Binärt träd är en specialiserad form av träd som representerar hierarkiska data i en trädstruktur. | Binär sökning Tree är en typ av binärt träd som håller nycklarna i en sorterad ordning för snabb uppslagning. |
Varje nod måste ha högst två barnnoder med varje nod ansluten från exakt en annan nod med en riktad kant. | Värdet av noderna i den vänstra delträdet är mindre än eller lika med värdet på rotknutpunkten och noderna till höger delträde har värden som är större än eller lika med värdet på rotnodet. |
Det finns ingen relativ ordning för hur noderna ska organiseras. | Det följer en definitiv ordning för hur noderna ska organiseras i ett träd. |
Det är i grunden en hierarkisk datastruktur som är en samling av element som kallas noder. | Det är en variant av binärträdet där noderna är ordnade i en relativ ordning. |
Den används för snabb och effektiv uppslagning av data och information i en trädstruktur. | Den används huvudsakligen för infogning, radering och sökning av element. |
Medan båda simulerar en hierarkisk trädstruktur som representerar en samling av noder med varje nod som representerar ett värde, skiljer de sig ganska från varandra när det gäller hur de kan implementeras och utnyttjas. En binär träd följer en enkel regel att varje föräldernod inte har mer än två barnnoder medan ett binärt sökträd bara är en variant av binärträdet som följer en relativ ordning för hur noderna ska organiseras i ett träd.