Wat is een zoekgegevensstructuur?
Het vinden van een item in een computergegevenslijst kan moeilijk en tijdrovend zijn, en daarom is de zoekdatastructuur gemaakt. Een zoekdatastructuur is elke datastructuur die automatisch kan worden doorzocht, of het nu een grote database of een kleine lijst is. Er zijn twee hoofdtypen zoekstructuren, statisch en dynamisch; statisch kan niet veranderen, terwijl dynamisch modificatie mogelijk maakt. Zoeken kan een kostbare operatie zijn, dus de meeste gegevensstructuren zijn geoptimaliseerd om de zoekfunctie te helpen de gegevens te vinden. Items snel vinden is een duidelijk voordeel van deze structuur, maar omdat deze zo duur is, kan de zoekfunctie het beste worden gebruikt bij grote structuren.
In tegenstelling tot de meeste andere gegevensstructuren, kan een zoekgegevensstructuur elk type gegevensstructuur zijn. Het dominante kenmerk van deze structuur is dat gebruikers de structuur kunnen doorzoeken via een zoekopdracht; de structuur moet ook ten minste twee items in een lijst hebben, hoewel de meeste structuren tientallen, honderden of duizenden items bevatten. Dit betekent dat een database, lijst, string of binaire boom kan worden gekwalificeerd als een zoekstructuur.
Een zoekdatastructuur kan worden onderverdeeld in een van twee categorieën: statisch en dynamisch. De statische versie is onveranderlijk en gebruikers kunnen alleen in de lijst zoeken. Deze structuur is veel gemakkelijker te onderhouden, omdat gebruikers zich geen zorgen hoeven te maken over het wijzigen van het bladwijzersysteem en zoeken meestal eenvoudiger is. Met dynamische structuren kunnen gebruikers items wijzigen, door ze te wijzigen of te verwijderen, maar ze zijn moeilijker uit te voeren. Items kunnen zo vaak veranderen dat er een bookmarking-systeem moet zijn om de positie van elk item bij te houden.
Het doorzoeken van een gegevensstructuur kan kostbaar zijn, wat betekent dat het veel tijd en moeite kan kosten voor de computer. Als er bijvoorbeeld lineair naar een gegevensstructuur wordt gezocht en het item onderaan staat, moet de query elk item doorzoeken totdat het het juiste vindt. Om de computer te helpen, zijn de meeste zoekdatastructuren geoptimaliseerd door een bladwijzersysteem te gebruiken en de structuur op te splitsen in secties, zodat de zoekopdracht door de juiste sectie kan kijken in plaats van de hele structuur.
Het duidelijke voordeel van het gebruik van een zoekdatastructuur is dat gebruikers records kunnen doorzoeken totdat ze de specifieke informatie vinden die ze nodig hebben. Omdat de query zo duur is, is dit niet zo handig voor kleinere gegevensstructuren. Als de gegevensstructuur klein is en gemakkelijk door een persoon kan worden doorzocht, kan het zelfs langer duren voordat de computer een record vindt dan wanneer een gebruiker de zoekopdracht handmatig zou uitvoeren.