Vad är algoritmanalys?

Algoritmanalys är ett fält inom datavetenskap som ägnar sig åt att förstå komplexiteten hos algoritmer. Algoritmer definieras generellt som processer som utför en serie operationer till ett slut. Algoritmer kan uttryckas på många sätt, i flödesscheman, ett naturligt språk och datorprogrammeringsspråk. Algoritmer används i matematik, databehandling och lingvistik, men en vanligaste användning är i datorer för att göra beräkningar eller bearbeta data. Algoritmanalys behandlar algoritmer skrivna på datorprogrammeringsspråk, som är baserade på matematisk formalism

En algoritm är i huvudsak en uppsättning instruktioner för en dator för att utföra en beräkning på ett visst sätt. Till exempel skulle en dator använda en algoritm för att beräkna en anställds lönecheck. För att datorn ska kunna utföra beräkningarna behöver den lämpliga data läggas in i systemet, till exempel den anställdes lönesats och antal arbetade timmar.

Mer än en algoritm kan fungera för att utföra samma operation, men vissa algoritmer använder mer minne och tar längre tid att utföra än andra. Hur vet vi också hur bra algoritmer fungerar generellt med tanke på skillnader mellan datorer och datainmatningar? Det är här algoritmanalysen kommer in.

Ett sätt att testa en algoritm är att köra ett datorprogram och se hur bra det fungerar. Problemet med detta tillvägagångssätt är att det bara berättar hur bra algoritmen fungerar med en viss dator och uppsättning ingångar. Syftet med algoritmanalysen är att testa och sedan dra slutsatser om hur bra en viss algoritm fungerar i allmänhet. Detta skulle vara mycket svårt och tidskrävande att göra på enskilda datorer, så forskare utvecklar modeller för datorfunktion för att testa algoritmer.

Generellt sett är algoritmanalys mest intresserad av att ta reda på hur mycket tid ett program tar att köra och hur mycket minne lagringsutrymme det behöver för att köra programmet. I synnerhet använder datavetare algoritmanalys för att bestämma hur data som tillförs ett program påverkar dess totala körtid, hur mycket minne utrymme datorn behöver för programdata, hur mycket utrymme programkoden tar i datorn, huruvida en algoritm producerar korrekt beräkningar, hur komplicerat ett program är och hur väl det hanterar oväntade resultat.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?