Lineáris keresés (algoritmus)
Innen: Programozás Wiki
(Lineáris keresés szócikkből átirányítva)
Ugrás a navigációhozUgrás a kereséshezTeljes keresést (angolul linear search) használva találhatunk meg egy tetszőleges elemet egy nem rendezett tömbben. Amennyiben a tömb rendezett, érdemes a hatékonyabb Logaritmikus keresést használni.
A teljes keresés a legegyszerűbb keresés: a tömb elemeit sorra vesszük, amíg az adott elem nem egyenlő a kívánt elemmel.
Futásidő[szerkesztés]
A futásidő a tömb méretével lineárisan nő.
Pszeudó-kód[szerkesztés]
Be: t tömb, n keresett szám Ki: n szám t tömbben elfoglalt helye Program lin_ker x:=1 Amíg t[x]<>n és x<hossz(t) x := x+1 Ha t[x]=n Ki: x Egyébként Ki: nincs megoldás Program vége
C++ programkód[szerkesztés]
#include <iostream>
using namespace std;
int main() {
int t[6] = {5, 6, 1, 9, -2, 0};
int n = 9;
int x = 0;
while(x<6 && t[x] != n) {
x++;
}
if(x<6) {
cout<<"A keresett érték a tömb "<<x<<". eleme";
} else {
cout<<"A keresett érték nincs a tömbben.";
}
return 0;
}
Lineáris keresés: Amennyiben a tömb rendezett, akkor a keresést korábban is befejezhetjük. Tegyük fel, hogy az elemek monoton nem csökkenő sorrendben állnak.
Pszeudó-kód[szerkesztés]
Be: t tömb, monoton nem csökkenő sorrendben álló elemekkel, n keresett szám, Ki: n szám t tömbben elfoglalt helye Program lin_ker x:=1 Amíg t[x]<n és x<hossz(t) x := x+1 Ha x<hossz(t) és t[x]=n Ki: x Egyébként Ki: nincs megoldás Program vége