Główna zawartość
Kurs: Informatyka > Rozdział 1
Lekcja 3: Asymptotyczne tempo wzrostuNotacja duże Ω (duże-Omega)
Czasem chcemy powiedzieć, że algorytm zajmuje przynajmniej pewną ilość czasu bez podawania górnej granicy. Używamy notacji duże-Ω (jest to grecka litera "omega").
Jeśli czas wykonania ogranicza , to dla odpowiednio dużych czas wykonania wynosi co najmniej dla pewnej stałej . Poniższy obrazek pokazuje jak można myśleć o czasie wykonania rzędu :
Mówimy, że czas wykonania wynosi "duże-Ω funkcji ." Używamy notacji duże-Ω dla oznaczenia asymptotycznej granicy dolnej ponieważ ogranicza wzrost czasu wykonania od dołu dla odpowiedno dużych wartości podanych na wejściu.
Dokładnie na tej samej zasadzie, jak z oszacowania automatycznie wynika oszacowanie , automatycznie wynika także oszacowanie . Możemy więc powiedzieć, że złożoność obliczeniowa przeszukiwania binarnego w najgorszym przypadku wynosi .
Możemy również dokonać poprawnych (lecz nieprecyzyjnych) stwierdzeń używając notacji duże-Ω. Na przykład, gdybyś miał milion złotych w kieszeni, mógłbyś stwierdzić "Mam pewną ilość pieniędzy w kieszeni i jest to co najmniej 10 złotych". Stwierdzenie prawdziwe, ale w oczywisty sposób niezbyt dokładne. Możesz również powiedzieć, że czas wykonania w najgorszym przypadku jest , ponieważ algorytm zawsze zajmie przynajmniej stałą ilość czasu czas.
Oczywiście, kiedy mamy do czynienia z logarytmiczną zależnością złożoności obliczeniowej od , staramy się określić czas wykonania jak najbardziej dokładnie. Przeanalizujemy teraz kilka przykładów, co powinno pomóc Ci zrozumieć notację duże- , duże- , oraz duże- .
Materiał powstał we współpracy profesorów z Dartmouth Computer Science Thomasa Cormena i Devina Balkcoma oraz zespołu nauczycieli informatyki Khan Academy. Materiał jest udostępniony na licencji CC-BY-NC-SA.
Chcesz dołączyć do dyskusji?
- Skoro jest to ograniczenie dolne to nie powinno być " W najlepszym przypadku" zamiast "w najgorszym wypadku"?(4 głosy)