Hvad er en søgedatasstruktur?
Det kan være vanskeligt og tidskrævende at finde et element i en computerdatoliste, hvilket er grunden til, at søgedatasstrukturen blev oprettet. En søgedatasstruktur er en hvilken som helst datastruktur, der automatisk kan søges, det være sig en stor database eller en lille liste. Der er to hovedtyper af søgestrukturer, statiske og dynamiske; statisk kan ikke ændres, mens dynamisk tillader ændring. Søgning kan være en kostbar operation, så de fleste datastrukturer er optimeret til at hjælpe søgefunktionen med at finde dataene. At placere genstande hurtigt er en åbenlys fordel ved denne struktur, men da det er så dyrt, bruges søgefunktionen bedst med store strukturer.
I modsætning til de fleste andre datastrukturer kan en søgedatasstruktur være en hvilken som helst type datastruktur. Det dominerende træk ved denne struktur er, at brugere kan søge gennem strukturen via en forespørgsel; strukturen skal også have mindst to poster på en liste, skønt de fleste strukturer har ti, hundreder eller tusinder af varer. Dette betyder, at en database, liste, streng eller binært træ kan kvalificeres som en søgestruktur.
En søgedatasstruktur kan opdeles i en af to kategorier: statisk og dynamisk. Den statiske version er uforanderlig, og brugere er kun i stand til at søge på listen. Denne struktur er meget lettere at vedligeholde, fordi brugere ikke behøver at bekymre sig om at ændre bogmærkesystemet og søgning typisk er lettere. Dynamiske strukturer giver brugerne mulighed for at ændre elementer, enten ved at ændre eller ved at slette dem, men de er sværere at køre. Elementer kan ændres så ofte, at der skal være et bogmærke-system for at holde styr på hvert enkelt posis position.
Det kan være dyrt at søge gennem en datastruktur, hvilket betyder, at det kan tage en masse tid og kræfter for computeren. For eksempel, hvis en datastruktur søges lineært, og emnet er i bunden, bliver forespørgslen nødt til at kigge gennem hvert element, indtil det finder det rigtige. For at hjælpe computeren optimeres de fleste søgedatasstrukturer ved hjælp af et bogmærke-system og ved at dele strukturen op i sektioner, så søgeforespørgslen kan se gennem det rigtige afsnit i stedet for hele strukturen.
Den åbenlyse fordel ved at bruge en søgedatasstruktur er, at brugere kan søge poster, indtil de finder den specifikke information, de har brug for. På samme tid, fordi forespørgslen er så dyr, er dette ikke så fordelagtigt for mindre datastrukturer. Hvis datastrukturen er lille og let kan søges af en person, kan det faktisk tage længere tid for computeren at finde en post, end hvis en bruger foretog søgningen manuelt.