Sadržaj:
Definicija - Što znači složenost vremena?
Vremenska složenost koncept je u računalnim znanostima koji se bavi kvantifikacijom vremena potrebnog za skup koda ili algoritma za obradu ili pokretanje kao funkciju količine unosa.
Drugim riječima, vremenska složenost u osnovi je učinkovitost, odnosno koliko dugo treba programska funkcija da obradi zadani unos.
Tehopedija objašnjava složenost vremena
Vremenska složenost jednostavno je mjerilo vremena koje je potrebno da neka funkcija ili izraz izvrši svoj zadatak, kao i naziv postupka za mjerenje tog vremena. Može se primijeniti na gotovo bilo koji algoritam ili funkciju, ali je korisniji za rekurzivne funkcije. Malo je smisla u mjerenju složenosti vremena za aplikacije kao što su dohvaćanje korisničkog imena i lozinke iz baze podataka radi usporedbe ili jednostavno spremanje podataka bilo da je 20 ms ili 5 ms; to bi bilo više u liniji vremena pristupa. Nema to veze s brigom o vremenu izvršenja, već je razlika zanemariva. Međutim, ako postoji rekurzivna funkcija koja se može nazvati više puta, određivanje i razumijevanje izvora njezine vremenske složenosti može pomoći u skraćenju ukupnog vremena obrade s, recimo, 600 ms na 100 ms.
Vremenska složenost obično se izražava u "noznoj O notaciji", ali postoje i druge naznake. Ovo je matematički prikaz gornje granice faktora skaliranja za algoritam i piše se kao O (Nn), pri čemu je "N" broj ulaza, a "n" broj izraza petlje. Na primjer, imamo algoritam:
numbers = {5, 6, 10, 11, 2}; foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2) {
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
U nizu "brojeva" nalazi se pet ulaza, a petlja "foreach" ponavlja se dva puta. Stoga, eksponencijalni rast vremena obrade nastaje kako raste broj ulaza i broj petlji.
