प्रत्यक्ष जटिलता को अंतर्निहित जटिलता के रूप में भी जाना जाता है, और यह एक समस्या या प्रणाली की अंतर्निहित जटिलता को दर्शाता है। यह घटकों की संख्या, नियंत्रण के प्रवाह, या डेटा के साथ-साथ कार्यक्रम की संरचना और संगठन से संबंधित है। एक एल्गोरिथ्म या संचालन की श्रृंखला परिभाषित नियमों और चरणों के एक सेट का अनुसरण करती है, नियम की अधिक संख्या, अधिक निर्णय बिंदु, और समग्र प्रणाली को अधिक जटिल माना जाता है। इस प्रकार की जटिलता को कोड की पंक्तियों की गिनती, चक्रात्मक जटिलता, या अन्य सॉफ्टवेयर मेट्रिक्स का उपयोग करके मापा या परिमाणित किया जा सकता है।
प्रत्यक्ष और अप्रत्यक्ष जटिलता के बीच अंतर की व्याख्या करें