Gandirea algoritmica

Problema căutării
Există şi cazul care, pentru o aceeaşi problem putem prezenta două soluţii, în care una este mai rapidă ca alta. De pildă, fie un şir de numere natural oarecare, de exemplu 4,2,10,1,8,15,7. Vream să testăm dacă un număr dat (să zicem numărul 8) se află în această secvenţă sau nu.

O astfel de căutare, prin parcurgerea de a stânga la dreapta a întregii secvenţe de numere, până se găseşte numărul dorit sau se epuiează toate elementele din secvenţă, se numeşte căutarea secvenţială. Dacă avem un şir S de n elemente (notat S[i..n]), atunci căutarea secvenţială a lui x în S se descrie prin:

Căutare_secventială(x,S[1. .n]) înseamnă
Început
  Fie elemental_curent = primul_element;
  Atăt timp cât (elemental_curent <> x) si (poziţia elementului current <= poziţia ultimului element (n)) execută   Început     Dacă elemental_curent = x atunci mesaj ("găsit")     Altfel treci la următorul element   Sfârşit Sfârşit.

Continue reading