Lineární vyhledávání

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Lineární vyhledávání (také známé jako sekvenční vyhledávání) je vyhledávací algoritmus vhodný na nalezení určité hodnoty v seznamu.

Funguje na principu procházení všech prvků seznamu. Lineární vyhledávání má časovou složitost O(N). +more V případě náhodného rozložení je průměrně potřeba N/2 porovnání. Nejlepší případ nastane tehdy, když se hledaná hodnota nachází na prvním místě v seznamu, v tomto případě je potřeba pouze jedno porovnání. Nejhorší případ nastane tehdy, když se hodnota v seznamu vůbec nevyskytuje; v tom případě je potřeba N porovnání.

Výhodou lineárního vyhledávání, oproti efektivnějším algoritmům jako například binární vyhledávání, je možnost použití i na neuspořádaných seznamech.

V případě, že je potřeba vykonat na seznamu více vyhledávání, je vhodné použít efektivnější údajovou strukturu. Jedno z řešení je uspořádat seznam a použít binární vyhledávání. +more Další běžný postup je vybudovat hašovací tabulku a vyhledávat pomocí ní.

Implementace

Implementace lineárního vyhledávání v jazyce Python:

def linear_search(hodnota, seznam): for prvek in seznam: if prvek == hodnota: return True return False

Funkcionální implementace v jazyce Haskell:

linearSearch a [] = False linearSearch a (x:xs) | a == x = True | otherwise = linearSearch a xs

Kategorie:Vyhledávací algoritmy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top