Złożoność obliczeniowa: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Anulowanie wersji 62289963 autorstwa 77.254.191.62 (dyskusja) reklama
Znacznik: Anulowanie edycji
PG (dyskusja | edycje)
drobne redakcyjne
Linia 1:
{{Inne znaczenia|2='''[[Asymptotyczne tempo wzrostu]]''' (miara określającą zachowanie wartości funkcji wraz ze wzrostem jej argumentów, określana '''notacją dużego O''')}}
{{dopracować|przypisy=2021-04}}
 
'''Teoria złożoności obliczeniowej''' – dział [[teoria obliczeń|teorii obliczeń]], którego głównym celem jest określanie ilości zasobów potrzebnych do rozwiązania [[Problem obliczeniowy|problemów obliczeniowych]]. Rozważanymi zasobami są takie wielkości jak czas, pamięć lub liczba procesorów.
 
Linia 8:
 
== Złożoność algorytmów ==
IlośćLiczbę zasobów niezbędnych do wykonania algorytmu można rozumieć jako jego złożoność. W zależności od rozważanego zasobu mówimy o '''złożoności czasowej''' czy też '''złożoności pamięciowej'''. Oczywiście w większości wypadków ilośćliczba potrzebnych zasobów będzie się różnić w zależności od danych wejściowych z zakresu danego zagadnienia.
 
Przykładowo można by rozpatrzyć rozkład liczb na czynniki pierwsze. Przewidzieć można, że (niezależnie od zastosowanego algorytmu) im większa liczba, tym więcej zasobów będzie potrzebnych do jej rozłożenia. Tę cechę podziela większość zagadnień obliczeniowych – im większe rozmiary danych wejściowych, tym więcej zasobów (czasu, procesorów, pamięci) jest koniecznych do wykonania danych obliczeń. Złożoność algorytmu jest więc [[Funkcja|funkcją]] rozmiaru danych wejściowych.