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

Wyszukiwanie liczby w ciągu w czasie stałym

Object Storage Arubacloud
0 głosów
150 wizyt
pytanie zadane 15 grudnia 2016 w C i C++ przez Jan Dobrakowski Użytkownik (580 p.)
Na wejściu programu podany jest ciąg n (0 < n < 10^5) liczb z zakresu od -10^9 do 10^9, a następnie sprawdzamy, czy dana wartość istnieje w tym ciągu. Czy jest możliwe takie posegregowanie liczb w ciągu, aby można było w czasie stałym sprawdzać, czy istnieje w nim dana wartość? Oczywiście zliczanie w tablicy jest niemożliwe,bo nie zrobię tablicy 2 * 10^9 elementowej.
komentarz 15 grudnia 2016 przez Przemek Gaduła (3,600 p.)
To jest ciąg arytmetyczny albo geometryczny?
komentarz 16 grudnia 2016 przez Jan Dobrakowski Użytkownik (580 p.)
Zwykły, losowy ciąg.

1 odpowiedź

0 głosów
odpowiedź 15 grudnia 2016 przez Sebastian Fojcik Nałogowiec (43,020 p.)
edycja 15 grudnia 2016 przez Sebastian Fojcik

[-10^9, 10^9] to nie ilość elementów tylko zakres, czyli jak duże i jak małe będą te liczby. Ilość wyrazów ciągu, to n i będzie ona wynosić od 1 do 10^5, więc tablicę możesz zrobić bez problemu.

Jeśli najpierw będą podawane wyrazy ciągu, a dopiero później zapytanie czy dana liczba istnieje, to musisz te liczby gdzieś przechować.
Teraz tylko kwestia do jakiej struktury je włożysz, aby można było ją szybko przeszukiwać. To sedno tego zadania ;-)
Ewentualnie jakiego algorytmu przeszukującego użyjesz. (w tablicy na pewno odradzam liniowy)

PS. Czas sprawdzania zależy od ilości elementów i ich uporządkowania. Przygotuj się na przypadki, w których ciąg będzie miał 100000 elementów, a szukana wartość będzie pierwszym lub ostatnim wyrazem.

Podobne pytania

–8 głosów
2 odpowiedzi 375 wizyt
0 głosów
2 odpowiedzi 163 wizyt
0 głosów
2 odpowiedzi 247 wizyt
pytanie zadane 25 marca 2016 w Java przez Dieet Nowicjusz (180 p.)

92,565 zapytań

141,416 odpowiedzi

319,600 komentarzy

61,950 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...