7. Indexový soubor

7.1. Vyhledávací algoritmy

rychlost vyhledávání / stupeň zpracování sipka1

sipka2     bez indexu s indexem
sekvenční úplné    
zkrácené    
množinové    

 

1. Úplné vyhledávání

Sekvenční vyhledávání v nesetříděném souboru (lineární vyhledávání řetězců v textu) - vždy je nutné zpracovat všechna data

Příklad: hledáme heslo "alma mater" v nesetříděném souboru

algor1

2. Zkrácené vyhledávání v setříděném souboru

Poté, co najdeme hledanou hodnotu, lze zpracování ukončit

Typy třídění / řazení:

a) podle označení: abecedně, chronologicky, číselně

b) podle obsahových nebo funkčních charakteristik, např. podle pravděpodobnosti požadavku

2.1 Sekvenční vyhledávání v setříděném souboru

Příklad: hledáme heslo "alma mater" sekvenčním vyhledáváním v abecedně setříděném souboru.

algor2

2.2 Intervalové vyhledávání v setříděném souboru

Součástí prohledávaného souboru je tzv. blokový (řídký) index (např. v encyklopedii - první a poslední heslo na straně).

  • nejprve (sekvenčně) prohledáváme setříděný seznam intervalů
  • po nalezení potřebného intervalu sekvenčně prohledáme setříděné záznamy, jež jsou v něm obsaženy

Příklady:

Hledáme heslo "alma mater" s použitím blokového indexu v encyklopedii.

algor3

Hledáme časopis Knihovna v katalogu elektronických časopisů EZB-Elektronische Zeitschriftenbibliothek /Electronic Journals Library:
1. V abecedním seznamu zvolíme písmeno K
2. zvolíme interval kma...-Knowledge Man...
3. najdeme časopis Knihovna.

2.3 Binární vyhledávání (binary search) v setříděném souboru

Půlení intervalu (rozdělení souboru vždy na polovinu) v setříděném souboru.

Vyhledávanou hodnotu porovnáme s prostředním záznamem intervalu; jestliže >, postupujeme zpět, jestliže <, postupujeme vpřed.

Příklad: hledáme číslo 63 - hledanou hodnotu porovnáme s číslem 50, poté s číslem 75, poté s číslem 62 (zaokrouhlená hodnota 62,5), poté s číslem 69, poté s číslem 66, poté s číslem 64, skončíme na čísle 63.

algor4

3. Vyhledávání s použitím indexu

Dvoufázové vyhledávání: nejprve prohledáme index, pak primární soubor.

Index

Pomocný soubor strukturovaný a tříděný podle jiného hlediska než základní (primární) soubor. Obsahuje záznamy o struktuře "klíč, adresa", kde klíč je hodnota (slovo, fráze, atribut) a adresa je ukazatel na místo uložení této hodnoty v základním souboru. Prostřednictvím odkazu propojuje index označení zdroje s jeho umístěním. Účelem indexového souboru je urychlit přístup ke zdrojům a tím zkrátit dobu vyhledávání.

Poznámka: Slovo index se používá v mnoha různých významech - viz rozcestník na Wikipedii.

index1

klad:
  • urychluje přístup k datům (zkracuje dobu vyhledávání)
  • umožňuje vyhledávat podle více hledisek
zápor:
  • zabírá místo
  • údržba indexu zpomaluje práci při aktualizaci primárního souboru
indexovaný soubor:

primární soubor není setříděn (sekvenční vyhledávání)

index-sekvenční vyhledávání (ISAM - index-sequential access method):

primární soubor je sekvenčně setříděn (zkrácené vyhledávání)