std::binary search
Megjelenés
Főnév
std::binary search (tsz. std::binary searches)
✅ Mi az a std::binary_search?
A std::binary_search egy algoritmus a <algorithm> könyvtárban, amely gyorsan megmondja, hogy egy adott érték megtalálható-e egy rendezett tartományban (például vektorban vagy tömbben).
✅ Szintaxis:
bool result = std::binary_search(begin, end, value);
beginésend– a rendezett tartomány határaivalue– a keresett érték- Visszatérési érték:
true, ha megtalálta,false, ha nem.
✅ Fontos:
- Csak rendezett adatstruktúrában működik jól!
- Belsőleg bináris keresést használ (O(log n) időbonyolultság).
✅ Egyszerű példa:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> numbers = {1, 3, 5, 7, 9, 11};
int keresett = 7;
if (binary_search(numbers.begin(), numbers.end(), keresett)) {
cout << "A(z) " << keresett << " benne van a sorozatban." << endl;
} else {
cout << "A(z) " << keresett << " nincs benne a sorozatban." << endl;
}
}
✅ Kimenet:
A(z) 7 benne van a sorozatban.
✅ Működése:
- Először ellenőrzi a középső elemet.
- Ha az kisebb a keresett értéknél, akkor a jobb oldalra megy.
- Ha nagyobb, akkor a bal oldalra megy.
- Addig felezi a keresési tartományt, amíg el nem éri a találatot vagy a végét.
✅ Összehasonlítás:
| Algoritmus | Mire való? |
|---|---|
binary_search() |
Megmondja, hogy létezik-e egy érték a rendezett sorozatban |
lower_bound() |
Megadja az első pozíciót, ahol az érték beszúrható |
upper_bound() |
Megadja az első pozíciót, ami nagyobb a keresett értéknél |
- std::binary search - Szótár.net (en-hu)
- std::binary search - Sztaki (en-hu)
- std::binary search - Merriam–Webster
- std::binary search - Cambridge
- std::binary search - WordNet
- std::binary search - Яндекс (en-ru)
- std::binary search - Google (en-hu)
- std::binary search - Wikidata
- std::binary search - Wikipédia (angol)