====== Lineární vyhledávání ====== ===== Princip ===== Lineární vyhledávání (známé také jako sekvenční vyhledávání) je vyhledávací algoritmus vhodný k nalezení určité hodnoty v seznamu(poli). Funguje na principu procházení všech prvků seznamu(pole). V případě náhodného rozložení je průměrně potřeba n/2 porovnání. Nejlepší případ nastane tehdy, pokud se hledaná hodnota nachází na prvním místě. Je tedy potřeba pouze jedno porovnání. Nejhorší případ nastane tehdy, když se hodnota v seznamu(poli) vůbec nevyskytuje, eventuelně je na konci seznamu(pole). Pak 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(polích). ===== Složitost ===== Lineární vyhledávání má časovou složitost O(n). ===== Příklady ===== **Napište metodu, která určí, zda se ve stupním poli nachází hledaný prvek a vratí počet prvků. ** static int Hledej (int[] pole, int hledani) { int prvku = 0; //pocatecni hodnota int i = 0; //index for(i=0;i ** Napište metodu, která určí, zda se ve vstupním poli nachází hledaný prvek a vrátí pozici prvního z nich. ** static int Hledej (int[] pole, int hledani) { int pozice = -1; //pocatecni hodnota - i pro pripadne nenalezeni int i = 0; //index while (i