ทฤษฎีความซับซ้อนในการคำนวณ
ทฤษฎีความซับซ้อนในการคำนวณ (English: Computational Complexity Theory) เป็นสาขาหนึ่งของทฤษฎีการคำนวณ ที่มุ่งเน้นไปในการวิเคราะห์เวลาและเนื้อที่สำหรับการแก้ปัญหาหนึ่ง ๆ โดยปกติแล้วคำว่า "เวลา" ที่เราพูดถึงนั้น จะเป็นการนับจำนวนขั้นตอนที่ใช้ในการแก้ปัญหา ส่วนในเรื่องของ "เนื้อที่" เราจะพิจารณาเนื้อที่ ๆ ใช้ในการทำงานเท่านั้น (ไม่นับเนื้อที่ ๆ ใช้ในการเก็บข้อมูลป้อนเข้า). ในบางกรณีเราอาจจะสนใจการวิเคราะห์ปริมาณอื่น ๆ ที่นอกเหนือไปจากพื้นที่กับเวลา ยกตัวอย่างเช่น ในการประมวลผลแบบขนาน เราอาจจะวิเคราะห์ว่าต้องใช้หน่วยประมวลผลกี่ตัวในการแก้ปัญหาที่กำหนด. ทฤษฎีความซับซ้อนต่างจาก ทฤษฎีการคำนวณได้ ที่จะเน้นไปในการวิเคราะห์ว่าปัญหาสามารถแก้ได้หรือไม่ โดยไม่สนใจทรัพยากรที่ใช้ในการแก้ปัญหา
ทฤษฎีจำนวน
เป็นสาขาหนึ่งของทฤษฎีจำนวนที่ศึกษาจำนวนโดยไม่ได้ใช้ความรู้ชั้นสูงจากสาขาอื่นเลย ปัญหาที่สาขานี้สนใจส่วนใหญ่แล้วจะเกี่ยวกับสมบัติที่น่าสนใจต่างๆของจำนวน เช่น การหารลงตัว(divisibility) การแยกตัวประกอบเฉพาะ (prime factorization) และ จำนวนสมบูรณ์ (perfect number) เป็นต้น แม้ว่าสาขานี้จะใช้เพียงความรู้พื้นฐานของคณิตศาสตร์ในการทำวิจัย ผลงานในสาขานี้หลายอย่างมีประโยชน์อย่างมากในทางปฏิบัติเช่น ทฤษฎีบทเศษเหลือของจีน (Chinese Remainder Theorem) ทฤษฎีบทเล็กของแฟร์มาต์ (Fermat's little theorem) ทฤษฎีบทของออยเลอร์ (Euler's theorem) ถูกนำไปใช้ในงานวิจัยด้าน ทฤษฎีพื้นฐานของการเข้ารหัส