Beräkningskomplexitet
Beräkningskomplexitet är ett område inom teoretisk datavetenskap som studerar de resurser som krävs för att lösa beräkningsproblem. De primära resurserna som analyseras är tid (hur många steg en algoritm tar) och utrymme (hur mycket minne som behövs). Målet är att klassificera problem baserat på deras svårighetsgrad och förstå de fundamentala gränserna för vad som kan beräknas effektivt.
Ett centralt begrepp är tidskomplexitet, som beskriver hur körtiden för en algoritm växer med storleken på
Utrymmeskomplexitet mäter mängden minne som en algoritm behöver under sin exekvering. Även här används Big O-notation
Klassificeringen av beräkningsproblem i komplexitetsklasser är fundamental. P-klassen innehåller alla beslutsproblem som kan lösas i polynomiell