Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




13-Vyhledavani

PDF
Stáhnout kompletní materiál zdarma (953.81 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

BPC-ALD 

13. přednáška 

Vyhledávání v lineární datové struktuře, Binární vyhledávání v poli, 

složitost algoritmu. Binární vyhledávací stromy, určení složitost 

algoritmu. 

rev. 2019.8 

Ing. T. Macho, Ph.D. (macho@feec.vutbr.cz) 

Vyhledávání 

Definice vyhledávání 

• Je dána množina 𝑛 prvků 𝑎1, 𝑎2, … , 𝑎𝑛. 
• Dále je zadána hodnota prvku, označme ji 𝑥. 

• V případě hledání mezi strukturovanými prvky je zadána hodnota klíče. 

• Cílem je nalézt v množině prvků 𝑎1, 𝑎2, … , 𝑎𝑛 prvek, pro který platí 

𝑥 = 𝑎𝑖. 

Vyhledávání v lineární datové struktuře 

Vyhledávání v lineární datové struktuře 

• Množina prvků v níž provádíme vyhledávání je tvořena lineární 

datovou strukturou - polem, vázaným seznamem. 

• Předpokládáme, že prvky jsou v lineární datové struktuře uloženy 

nesetříděné. 

• Musíme postupně procházet prvky (např. směrem od začátku ke 

konci) a každý prvek srovnat s hledanou hodnotou 𝑥. 

Počet srovnání při vyhledávání v lineární 
datové struktuře 
• Minimální: 1 (hledaný prvek je na první pozici) 
• Maximální: 𝑛 (hledaný prvek je na poslední pozici) 
• Průměrný: 

𝑛+1

2  

Příklad implementace lineárního vyhledávání 
v poli 
size_t i = 0; 
for(; i < n; ++i) 
     if(a[i] == x) break
 
if(i < n)  
     {// prvek byl nalezen} 
else      {// prvek nebyl nalezen} 

Urychlení lineárního vyhledávání v poli 
pomocí zarážky 
• V cyklu se kromě srovnání, zda 𝑖-tý prvek pole odpovídá hodnotě 𝑥, 

rovněž provádí srovnání, zda nejsme za posledním prvkem pole  
(i < n). 

• Srovnání zda (i < n) lze odstranit pomocí tzv. zarážky a tím 

vyhledávání urychlit pomocí. 

• Délku pole zvětšíme o jeden prvek (na 𝑛 + 1). 
• Jako poslední prvek před každým vyhledáváním dáme hledanou hodnotu 𝑥. 
• Cyklus vždy nalezne hledanou hodnotu a ukončí se. 

Témata, do kterých materiál patří