Innholdsfortegnelse:
Definisjon - Hva betyr tidskompleksitet?
Tidskompleksitet er et begrep innen informatikk som tar for seg kvantifiseringen av tiden det tar av et sett med kode eller algoritme å behandle eller kjøre som en funksjon av mengden input.
Med andre ord, tidskompleksitet er i hovedsak effektivitet, eller hvor lang tid en programfunksjon tar å behandle en gitt inngang.
Techopedia forklarer Time Complexity
Tidskompleksitet er ganske enkelt et mål på tiden det tar for en funksjon eller uttrykk å fullføre oppgaven, samt navnet på prosessen for å måle den tiden. Den kan brukes på nesten hvilken som helst algoritme eller funksjon, men er mer nyttig for rekursive funksjoner. Det er lite poeng i å måle tidskompleksiteten for applikasjoner som å hente brukernavn og passord fra en database for sammenligning eller bare lagre data enten det er 20 ms eller 5 ms; det vil være mer i linjen for tilgangstid. Det har ingenting å gjøre med å bry seg om utførelsestiden, men heller at forskjellen er ubetydelig. Imidlertid, hvis det er en rekursiv funksjon som kan kalles flere ganger, kan det å bestemme og forstå kilden til dens tidskompleksitet bidra til å forkorte den totale behandlingstiden fra, for eksempel, 600 ms til 100 ms.
Tidskompleksitet kommer ofte til uttrykk i den "store O-notasjonen", men det er andre notasjoner. Dette er en matematisk fremstilling av den øvre grensen for skaleringsfaktoren for en algoritme og er skrevet som O (Nn), med "N" som antall innganger og "n" er antall looping-uttrykk. For eksempel har vi algoritmen:
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; } }
Det er fem innganger i matchen "tall", og "foreach" -sløyfen gjentas to ganger. Derfor oppstår eksponentiell vekst i behandlingstiden etter hvert som antall innganger og antall løkker vokser.
