Co to jest struktura danych wyszukiwania?

Odnalezienie pozycji na liście danych komputerowych może być trudne i czasochłonne, dlatego stworzono strukturę danych wyszukiwania. Struktura wyszukiwania danych to dowolna struktura danych, która może być automatycznie przeszukiwana, niezależnie od tego, czy jest to duża baza danych, czy mała lista. Istnieją dwa główne typy struktur wyszukiwania, statyczne i dynamiczne; statyczny nie może się zmienić, a dynamiczny umożliwia modyfikację. Wyszukiwanie może być kosztowną operacją, dlatego większość struktur danych jest zoptymalizowana, aby pomóc funkcji wyszukiwania znaleźć dane. Szybkie lokalizowanie przedmiotów jest oczywistą zaletą tej konstrukcji, ale ponieważ jest tak kosztowna, funkcja wyszukiwania najlepiej sprawdza się w przypadku dużych konstrukcji.

W przeciwieństwie do większości innych struktur danych, struktura danych wyszukiwania może być strukturą danych dowolnego typu. Dominującą cechą tej struktury jest to, że użytkownicy mogą przeszukiwać strukturę za pomocą zapytania; struktura musi również zawierać co najmniej dwa elementy na liście, chociaż większość struktur ma dziesiątki, setki lub tysiące elementów. Oznacza to, że baza danych, lista, łańcuch znaków lub drzewo binarne można zakwalifikować jako strukturę wyszukiwania.

Strukturę danych wyszukiwania można podzielić na jedną z dwóch kategorii: statyczną i dynamiczną. Wersja statyczna jest niezmienna, a użytkownicy mogą jedynie przeszukiwać listę. Ta struktura jest znacznie łatwiejsza w utrzymaniu, ponieważ użytkownicy nie muszą się martwić o zmianę systemu zakładek, a wyszukiwanie jest zazwyczaj łatwiejsze. Struktury dynamiczne pozwalają użytkownikom modyfikować elementy, zmieniając je lub usuwając, ale trudniej je uruchomić. Pozycje mogą się zmieniać tak często, że musi istnieć system zakładek do śledzenia pozycji każdego elementu.

Przeszukiwanie struktury danych może być kosztowne, co oznacza, że ​​może zająć komputerowi dużo czasu i wysiłku. Na przykład, jeśli struktura danych jest przeszukiwana liniowo, a element znajduje się na dole, zapytanie będzie musiało przejrzeć każdy element, aż znajdzie właściwy. Aby pomóc komputerowi, większość struktur danych wyszukiwania jest optymalizowana za pomocą systemu zakładek i poprzez rozbicie struktury na sekcje, tak aby zapytanie wyszukiwania mogło przejrzeć właściwą sekcję zamiast całej struktury.

Oczywistą korzyścią wynikającą z używania struktury danych wyszukiwania jest to, że użytkownicy mogą przeszukiwać rekordy, dopóki nie znajdą potrzebnych informacji. Jednocześnie, ponieważ zapytanie jest tak kosztowne, nie jest to tak korzystne w przypadku mniejszych struktur danych. Jeśli struktura danych jest niewielka i może być łatwo przeszukiwana przez osobę, to w rzeczywistości znalezienie rekordu przez komputer może zająć więcej czasu niż w przypadku ręcznego wyszukiwania przez użytkownika.