Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

Destul de des, programatorii, chiar și începătorii, se confruntă cu faptul că există un set de numere în care este necesar să se găsească un anumit număr. Această colecție este numită matrice. Și pentru a găsi elementul potrivit în ea, există o mulțime de moduri. Dar cea mai simplă dintre ele de drept poate fi considerată o căutare binară. Care este metoda? Și cum să implementați o căutare binară? Pascal este cel mai simplu mijloc pentru organizarea unui astfel de program, așa că îl vom folosi pentru studiu.







În primul rând, vom analiza care sunt avantajele acestei metode, la urma urmei, astfel încât să putem înțelege,

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice
care este punctul în studierea acestui subiect. Deci, să presupunem că există o matrice cu o dimensiune de cel puțin 100000000 elemente, în care trebuie să găsiți un anumit. Desigur, această problemă poate fi rezolvată cu ușurință printr-o simplă căutare liniară, în care vom folosi ciclul pentru a compara elementul dorit cu toate cele care există în matrice. Problema este că implementarea acestei idei va dura prea mult. Într-un program Pascal simplu pentru mai multe proceduri și cu trei rânduri din textul principal, nu îl veți observa, dar când începeți proiecte mai mult sau mai puțin mari, cu o multitudine de ramificații și o bună funcționalitate, programul finit va fi încărcat prea mult. Mai ales în cazul în care calculatorul are o performanță slabă. Prin urmare, există o căutare binară, care reduce timpul de căutare cel puțin de două ori.

Deci, care este principiul acestei metode? Merită menționat faptul că căutarea binară nu funcționează în niciun fel de matrice, ci numai într-un set sortat de numere. La fiecare pas următor, se ia elementul de mijloc al matricei (referindu-se la numărul elementului). Dacă numărul dorit este mai mare decât media, atunci tot ce este la stânga, adică mai puțin decât elementul mediu, poate fi aruncat și nu este căutat acolo. În schimb, dacă este mai mică decât media, printre numerele din dreapta, nu le puteți căuta. Apoi, vom selecta o nouă zonă de căutare, în care elementul de mijloc al întregului matrice va fi primul element, iar ultimul va rămâne ultimul. Numărul mediu al zonei noi va fi ¼ din întregul segment, adică (ultimul element + elementul mediu al întregii matrice) / 2. Din nou, se efectuează aceeași operație - comparație cu numărul mediu al matricei. Dacă valoarea dorită este mai mică decât media, aruncați partea dreaptă și faceți același lucru până când se găsește acest element intermediar.







Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

Desigur, este mai bine să analizăm un exemplu de scriere a unei căutări binare. Pascal aici este potrivit pentru oricine - versiunea nu este importantă. Să scriem un program simplu.

Acesta va avea o matrice de la 1 la h numit "massiv", o variabilă care denotă o limită inferioară de căutare, numită "niz", o limită superioară numită "verh", elementul de căutare de mijloc este "sredn"; iar numărul necesar este "isk".

Deci, mai întâi alocați limitele superioare și inferioare ale intervalului de căutare:

niz: = 1;
verh: = h + 1;

Apoi organizăm ciclul "în timp ce fundul este mai mic decât limita superioară":

În timp ce niz începe

La fiecare pas, împărțiți segmentul cu 2:

De fiecare dată când efectuăm un cec. Dacă media este egală cu cea dorită, întrerupem ciclul, deoarece elementul dorit este deja găsit:

dacă sredn = isk apoi pauză;

Dacă elementul mediu al matricei este mai mare decât cel pe care îl căutăm, aruncați partea stângă, adică atribuim elementul de mijloc limita superioară:

dacă masiv [sredn]> isk apoi verh: = sredn;

Și dacă dimpotrivă, atunci o facem limita inferioară:

altceva niz: = sredn;
se încheie;

Asta-i tot ce va fi în program.

Vom analiza modul în care metoda binară va arăta în practică. Luăm o astfel de matrice: 1, 3, 5, 7, 10, 12, 18 și căutați numărul 12 în el.

În total, avem 7 elemente, deci media va fi a patra, valoarea ei 7.

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

Ce se întâmplă cu corpul unei persoane care nu face sex? Sexul are aproape aceeași nevoie de bază, ca și consumul de alimente. Cel puțin, după ce ați început să vă ocupați de ele, nu vă veți opri. Chiar dacă țineți.

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

Transformare incredibilă: pisica "orbită" din stradă a surprins pe toată lumea cu frumusețea ochilor lor. Pisica nu vedea aproape nimic și nu se putea mișca. Dar când a fost vindecat de scabie, sa dovedit că nu era deloc orb. Mai mult, ochii lui Cotton sunt doar unii.

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice

9 cele mai teribile rochii de mireasa Desigur, pregatirea pentru nunta, fiecare mireasa crede ca aceasta este ziua ei, ceremonia ei, si de aceea isi poate permite sa faca orice vrea.

Căutarea binară este una dintre cele mai simple căi de a găsi un element dintr-o matrice







Articole similare

Trimiteți-le prietenilor: