Skip to main content

Vad är en sökdatastruktur?

Att hitta ett objekt i en datatadlista kan vara svårt och tidskrävande, varför sökdatastrukturen skapades.En sökdatastruktur är alla datastrukturer som automatiskt kan sökas, vare sig det är en stor databas eller en liten lista.Det finns två huvudtyper av sökstrukturer, statiska och dynamiska;Statisk kan inte förändras, medan dynamik tillåter modifiering.Sökning kan vara en kostsam operation, så de flesta datastrukturer är optimerade för att hjälpa sökfunktionen att hitta data.Att hitta objekt snabbt är en uppenbar fördel för denna struktur, men eftersom det är så kostsamt används sökfunktionen bäst med stora strukturer.

Till skillnad från de flesta andra datastrukturer kan en sökdatastruktur vara alla typer av datastrukturer.Det dominerande kännetecknet för denna struktur är att användare kan söka igenom strukturen via en fråga;Strukturen måste också ha minst två objekt i en lista, även om de flesta strukturer har tiotals, hundratals eller tusentals artiklar.Detta innebär att en databas, lista, sträng eller binärt träd kan kvalificera sig som en sökstruktur.

En sökdatastruktur kan delas upp i en av två kategorier: statisk och dynamisk.Den statiska versionen är oföränderlig och användare kan bara söka i listan.Denna struktur är mycket lättare att underhålla, eftersom användare inte behöver oroa sig för att ändra bokmärkesystemet och söka är vanligtvis enklare.Dynamiska strukturer tillåter användare att ändra objekt, antingen genom att ändra eller ta bort dem, men de är svårare att köra.Objekt kan förändras så ofta att det måste finnas ett bokmärkesystem för att hålla reda på varje objekts position.

Att söka genom en datastruktur kan vara kostsamt, vilket innebär att det kan ta mycket tid och ansträngning för datorn.Till exempel, om en datastruktur söks linjärt och objektet är längst ner, måste frågan titta igenom varje objekt tills den hittar rätt.För att hjälpa datorn optimeras de flesta sökdatastrukturer genom att använda ett bokmärkesystem och genom att bryta upp strukturen i avsnitt så att sökfrågan kan titta igenom rätt avsnitt istället för hela strukturen.

Den uppenbara fördelen med att använda en sökdataStruktur är att användare kan söka i poster tills de hittar den specifika informationen de behöver.Samtidigt, eftersom frågan är så kostsam, är detta inte lika fördelaktigt för mindre datastrukturer.Om datastrukturen är liten och enkelt kan sökas av en person, kan det faktiskt ta längre tid för datorn att hitta en post än om en användare gjorde sökningen manuellt.