• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Którą wartość zwróci wyszukiwania binarnego

42 Warsaw Coding Academy
0 głosów
219 wizyt
pytanie zadane 11 maja 2023 w Algorytmy przez noone1212 Nowicjusz (180 p.)
Jeżeli w ciągu liczb występują wartości takie same, czyli x1 <= x2 <= … <= xi = xj = … = xl <= … <= xn

oraz xi = xj = … = xl =y to którą wartość zwróci algorytm wyszukiwania binarnego?

1 odpowiedź

0 głosów
odpowiedź 11 maja 2023 przez Whistleroosh Maniak (57,400 p.)

Zależy od implementacji. Przykład z c++ wypluty przez chatgpt, który porównuje lower_bound z upper_bound, które prawdopodobnie są zaimplementowane przy użyciu binary search:

#include <iostream>
#include <algorithm>
#include <vector>

int main() {
  std::vector<int> sorted_vec {1, 2, 3, 4, 5, 6, 7, 7, 7, 8, 9};

  int middle_element = 7;
  auto lower = std::lower_bound(sorted_vec.begin(), sorted_vec.end(), middle_element);
  auto upper = std::upper_bound(sorted_vec.begin(), sorted_vec.end(), middle_element);

  std::cout << "The lower bound of " << middle_element << " is " << std::distance(sorted_vec.begin(), lower) << std::endl;
  std::cout << "The upper bound of " << middle_element << " is " << std::distance(sorted_vec.begin(), upper) << std::endl;

  return 0;
}

Output:

The lower bound of 7 is at position 6
The upper bound of 7 is at position 9

 

Podobne pytania

0 głosów
1 odpowiedź 885 wizyt
0 głosów
1 odpowiedź 919 wizyt
0 głosów
1 odpowiedź 797 wizyt
pytanie zadane 9 marca 2019 w Java przez mn130496 Gaduła (3,530 p.)

93,377 zapytań

142,378 odpowiedzi

322,524 komentarzy

62,724 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...