A lineáris keresés tétele

 

Általános feladat: Rendelkezésre áll egy N elemű sorozat, egy, a sorozat elemein értelmezett T tulajdonság. Olyan algoritmust kell írni, amely eldönti, hogy van-e T tulajdonságú elem a sorozatban, és ha van, akkor megadja a sorszámát.

 

Algoritmus:

 

Eljárás

  I:=1

  Ciklus amíg I<=N és A(I) nem T tulajdonságú

    I:=I+1

  Ciklus vége

  HA I<=N akkor VAN          (A VAN egy logikai változó, ha van akkor true)

  Ha VAN akkor SORSZ:=I

  Ha I>N akkor NINCS

Eljárás vége.

 

Logaritmikus keresés

 

Általános feladat: Adott egy N elemű rendezett sorozat és egy keresett elem (X). Olyan algoritmust kell írni, amely eldönti, hogy szerepel-e a keresett elem a sorozatban, s ha igen, akkor megadja a sorszámát. Kihasználjuk, hogy a vizsgált sorozat rendezett. Ez alapján bármely elemről el tudjuk dönteni, hogy a keresett elem előtte vagy utána van-e, vagy esetleg éppen megtaláltuk. A és F mindig annak a részintervallumnak az alsó és felső végpontjai, amelyben a keresett elem benne lehet.

 

Algoritmus:

 

Eljárás

  A:=1 ; F:=N

  Ciklus

    K:=INT((A+F)/2)   (A és F által határolt intervallum középső elemére mutat rá)

    Ha A(K)<X akkor A:=K+1

    Ha A(K)>X akkor F:=K-1

  amíg A<=F és A(K)<>X

  Ciklus vége

  Ha A<=F akkor VAN

  Ha VAN akkor SORSZ:=K

Eljárás vége.

 

A bejegyzés trackback címe:

https://delphi-learning.blog.hu/api/trackback/id/tr121601228

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása