Logaritmikus keresés Feladat: Adott egy 11 elemű, növekvően rendezett tömb számokkal feltöltve. Keressük meg a 17-es értéket! Ha van benne, hányadik eleme a tömbnek?
Amikor létezik a keresett elem
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V=
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V=
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= K= 6
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= K= 6 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= 5 K= 6
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 <17 ? V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 <>17 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5 <17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4 K= 3 V= 5 <>17
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4 K= 3 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 <17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 =17
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 Igaz
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 A tömb 4. eleme
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 A tömb 4. eleme
Amikor nem létezik a keresett elem
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V=
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor E:=K+1; Ha A(K)<X akkor V:=K-1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V=
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= K= 6
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= K= 6 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= V= 5 K= 6
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 <17 ? V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 <>17 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 6 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= K= 3 V= 5 <17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4 K= 3 V= 5 <>17
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4 K= 3 V= 5
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 5 >17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3 <17 ?
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3 Hamis
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3 Hamis Nincs ilyen elem
A() Eljárás Keresés E:=1; V:=N; Ciklus K:=[(E+V)/2] Ha A(K)>X akkor V:=K-1; Ha A(K)<X akkor E:=K+1; Amíg E X VAN:=(E<=V); Ha VAN akkor SORSZ:=K; Eljárás vége 1 N X=17 E= 4K= V= 3 Nincs ilyen elem