Vad är ett sökträd?
A search tree is a data structure used in computer programming to contain and organize a list of data. Each search tree is comprised of an ordered set of nodes. These nodes can be connected to zero or more other nodes. The individual nodes contain some data as well as links to any other nodes. The data that is contained in the nodes of the tree is very often ordered in some way to allow efficient algorithms to search for, insert and remove nodes with Lätt.
Noderna på ett sökträd beskrivs med fyra viktiga termer. Det övre delen av ett träd, där den första noden är belägen, kallas roten. Om en nod innehåller länkar till undernoder, kallas den noden som en förälder. barn.
Ett program kan gå igenom ett träd som söker efter data genom att börja vid en viss nod, utföra en villkorad check och sedan flytta till nästa logiska nod om de nödvändiga uppgifterna inte är närvarande. Beroende på den som används kan denna sökning ta en variabel tid. Om sökningen är organiserad under processen att lägga till och ta bort noder, kan sökningen vara mycket snabb.
En faktor som påverkar användningen av sökträd är frågan om balans. Ett balanserat träd är ett där både höger och vänster barn i rotnoden innehåller antingen samma djup av barnnoder eller är inom ett nod av varandra.r har alla noderna arrangerade på ett linjärt sätt utan grenar. När ett trädets djup ökar kan hastigheten för sökalgoritmer minska dramatiskt.
Det finns vissa typer av sökträd som beskrivs som självbalansering. Dessa träd använder operationer som trädrotation för att upprätthålla balansen samtidigt som man bevarar ordningen på data i bladen. Även om utförande av trädrotationer kan bromsa ett program när man lägger till och tar bort noder, motverkas detta av hastigheten vid vilken data kan hämtas.
Även om det finns många typer av sökträd, är den vanligaste träddatastrukturen ett binärt sökträd. Denna datatyp består av noder som var och en har noll till två barnnoder. Det finns bara en rotnod, och alla blad i trädet beställs från vänster till höger i stigande värden enligt de data de har. Många algoritmer finns för binära sökning som kan göra ordningsdata för att göra ordningsdata för att göra ordningsdatay lätt.
Det finns ingen enskild standardimplementering för sökträdnoder. Noderna kan representeras av en mängd olika datastrukturer. Uppsättningar av matriser kan användas, vilket kan multiplicera länkade listor. Ofta inkluderar ett sökträd en anpassad datastruktur som är utformad för att hjälpa till i slutförandet av de nödvändiga operationerna som kallas av programmet. Vissa standardprogrammbibliotek inkluderar även sina egna interna interna implementering.