Jednoduché kompletní binární vyhledávání Materiál jednoduchého programového algoritmu v C++

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Binární vyhledávací program v jazyce C++ je vyhledávací algoritmus, který rozděluje data na dvě části pokaždé, když dojde k procesu vyhledávání za účelem nalezení určité hodnoty v lineárním poli. Proces hledání binárního vyhledávání v c++ lze provádět pouze na souborech dat, které byly setříděny jako první.
Binární vyhledávání hledá střední hodnotu (medián), provádí porovnání, aby se zjistilo, zda hledaná hodnota je před nebo za ní, a poté stejným způsobem hledá zbývající polovinu. Binární vyhledávání se provádí:
a) Minimalizujte počet porovnávacích operací, které je třeba provést mezi hledanými daty a daty v tabulce, zejména u velmi velkého množství dat.
b) Výpočetní zatížení je menší, protože vyhledávání se provádí zepředu, zezadu a ze středu.
c) Základním principem je provádět proces dělení vyhledávacího prostoru opakovaně, dokud nejsou data nalezena nebo dokud vyhledávací prostor nelze dále dělit (tedy existuje možnost, že data nebudou nalezena).
d) A hlavní podmínkou pro binární vyhledávání v tomto jednoduchém programu v jazyce C++ je, že data v tabulce musí být setříděna.

C++ binární vyhledávací algoritmus

1. Nejprve je počáteční pozice 0 a konečná pozice = N - 1, poté se pomocí vzorce (počáteční pozice + konečná pozice) / 2 vyhledá střední pozice dat. Poté se hledaná data porovnají se středními daty. 2. Poté hledáme střední pozici dat pomocí vzorce pro střední pozici, konkrétně = (počáteční pozice + koncová pozice) div 2. 3. Poté budou hledaná data porovnána se středními daty a. Pokud jsou nalezena stejná data, je proces dokončen. b. Pokud je menší, proces se provede znovu, ale konečná poloha je považována za stejnou jako střední poloha -1. C. Pokud je větší, proces se provede znovu, ale výchozí poloha je považována za stejnou jako střední poloha +1. 4. Opakujte od kroku 2, dokud nebudou data nalezena nebo nenalezena. 5. Toto binární vyhledávání bude ukončeno, pokud se zjistí, že data jsou na počáteční pozici vyšší než koncová pozice. Pokud je počáteční pozice větší než koncová pozice, znamená to, že data nebyla nalezena.


Vyhledávání pomocí metody binárního vyhledávání

#zahrnout
pomocí jmenného prostoru std;
int main () { int n, číslo[12], vlevo, vpravo, střed, teplota, klíč; bool meet = false;
cout<<'HARDIFAL'< cout<<'========================================='< cout<<'=========PROGRAM BINARY SEARCH C++==========='< cout<<'========================================='< cout<<'Masukan jumlah data : '; cin>>n;
for(int i=0; i { cout<<'Angka ke - ['< cin>>číslo[i]; } for (int i=0; i { for(int j=0; j { if (číslo [j] > číslo [j+1]) { temp=číslo[j]; čísla[j]=čísla[j+1]; číslo[j+1]=teplota; } } } cout<<'Data yang telah diurutkan adalah : '; for(int i=0; i { cout< } cout<<' Masukan angka yang dicari : '; cin>>key;
skin=0; kanan=n-1;
zatímco (kůže<=kanan) { střed=(levý + pravý)/2; if(key == číslo[uprostřed]) { splnit=pravda; přestávka; } jinak pokud (klíč { vpravo = střed -1; } jiný { vlevo = střed +1; } } if (nalezeno == pravda) cout<<'Angka ditemukan!'; jiný cout<<'Angka tidak ditemukan'; návrat 0; }
Výstup - Příklad jednoduchého binárního vyhledávacího C++ programu