Lineárne vyhľadávanie - Biblioteka.sk

Panta Rhei Doprava Zadarmo


A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Lineárne vyhľadávanie

Lineárne vyhľadávanie (tiež známe ako sekvenčné vyhľadávanie) je vyhľadávací algoritmus, vhodný na vyhľadanie určitej hodnoty v zozname.

Funguje na princípe prechádzania všetkými prvkami zoznamu, až kým sa nenájde hľadaná hodnota. Lineárne vyhľadávanie má zložitosť O(N). V prípade náhodného rozloženia je v priemere potrebných N/2 porovnaní. Najlepší prípad nastane, ak sa hľadaná hodnota nachádza na prvom mieste v zozname, v tomto prípade je teda potrebné iba jedno porovnanie. Najhorší prípade je, ak sa hodnota v zozname nenachádza, v tomto prípade je potrebných N porovnaní.

Výhodou lineárneho vyhľadávania, oproti efektívnejším algoritmom ako napríklad binárne vyhľadávanie, je možnosť použitia aj na neusporiadané zoznamy.

V prípade, že je potrebné vykonať na zozname viacero vyhľadávaní, je vhodné použiť efektívnejšiu údajovú štruktúru. Jedno z riešení je usporiadať zoznam a použiť binárne vyhľadávanie. Ďalší bežný postup je vybudovať hašovaciu tabuľku a vyhľadávať pomocou nej.

Implementácie

Implementácia lineárneho vyhľadávania v jazyku Python:

def linear_search(hodnota, zoznam):
    for prvok in zoznam:
        if prvok == hodnota:
            return True
    return False

Funkcionálna implementácia v jazyku Haskell:

linearSearch a  = False
linearSearch a (x:xs) | a == x    = True
                      | otherwise = linearSearch a xs
Zdroj:
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Zdroj: Wikipedia.org - čítajte viac o Lineárne vyhľadávanie





Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky použitia.

Your browser doesn’t support the object tag.

www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk