کلاس‌های پیچیدگی زیادی وجود دارند که با محدود کردن زمان یا فضای به کار رفته توسط الگوریتم می‌توانند محدود شوند. معروف‌ترین کلاس‌های پیچیدگیP  و NP هستند، که مساله‌ها را از نظر زمان مورد نیاز تقسیم‌بندی می‌کنند. به طور شهودی می‌توان گفت که کلاس P، کلاس مساله‌هایی است که برای پیدا کردن جواب آن‌ها الگوریتم‌های سریعی وجود دارند. اما NP شامل آن دسته از مساله‌ها می‌باشد که اگرچه ممکن است پیدا کردن جواب برای آن‌ها نیاز به زمان زیادی داشته باشد، بررسی کردن درستی جواب به وسیله‌‌ی یک الگوریتم سریع امکان‌پذیر است. البته کلاس‌های پیچیدگی دارای مرتبه‌‌ی سخت‌تر از NP نیز وجود دارند. برخی از آن‌ها به شرح زیرند:

PSPACE: شامل مسائلی است که با اختصاص دادن مقدار کافی حافظه (که این مقدار حافظه معمولا تابعی از اندازه‌ی مساله می‌باشد) و بدون در نظر گرفتن زمان مورد نیاز برای حل آن، می‌توانند حل شوند.

 EXPTIME: شامل مسائلی است که زمان مورد نیاز برای حل آن‌ها به صورت توانی می‌باشد. مسائل این کلاس بسیار جذاب و سرگرم کننده می‌باشند و شامل همه‌ی مسائل سه کلاس بالایی نیز می‌باشد. نکته‌ی جالب و قابل توجه این است که حتی این کلاس نیز جامع نمی‌باشد، یعنی مسائلی وجود دارند که بهترین و کارآمدترین الگوریتم‌ها نیز برای حل آن‌ها زمان بیش‌تری نسبت به زمان توانی صرف می‌کنند.

Un-decidable یا غیرقابل تصمیم‌گیری: برای برخی از مسائل بدون در نظر گرفتن فضا و زمان می‌توانیم اثبات کنیم که نمی‌شود الگوریتمی را پیدا کرد که همیشه آن مساله را حل ‌کند. در این زمینه، ریچارد لیپتون[1] (از معروف‌ترین صاحب‌نظران در زمینه‌ی نظریه‌های علوم کامپیوتر، محاسبات DNA و رمزنگاری) در مقاله‌ای می‌نویسد: «یک روش اثبات غیررسمی برای این مساله می‌تواند این باشد که تعداد زیادی مساله، مثلاً به فراوانی اعداد حقیقی، وجود دارند ولی تعداد برنامه‌هایی که این مسائل را حل می‌کنند، در حد اعداد صحیح هستند». برخی از کلاس‌های پیچیدگی مهم در جدول (1-1) ارائه شده‌اند.

کلاس‌های پیچیدگی مهم دیگر عبارتند از BPP، ZPP و RP که با استفاده از ماشین‌های تورینگ احتمالاتی؛ AC و NC که با استفاده از مدارات بولی و BQP و QMA که با استفاده از ماشین‌های تورینگ کوانتومی تعریف می‌شوند. #P کلاس پیچیدگی مهمی از مسائل حساب (نه مسائل تصمیم‌گیری) به شمار می‌آید. کلاس‌هایی مثل IP و AM با استفاده از سیستم‌های اثبات متقابل[2] تعیین می‌شوند.


[1]. Richard Lipton

[2]. Interactive Proof Systems