नॅप्सैक एल्गोरिथ्म का रन-टाइम न केवल इनपुट (n - आइटमों की संख्या) के आकार पर होता है, बल्कि इनपुट (W - द नॅप्सैक क्षमता) O (nW) के परिमाण पर भी होता है, जो कि कैसे होता है बाइनरी में कंप्यूटर का प्रतिनिधित्व किया (2 ^ n)। कम्प्यूटेशनल जटिलता (यानी बिट्स के माध्यम से कंप्यूटर के अंदर प्रसंस्करण कैसे किया जाता है) केवल इनपुट के आकार से संबंधित है, न कि उनके परिमाण / मूल्यों से ।
एक पल के लिए मूल्य / वजन सूची की उपेक्षा करें। मान लें कि हमारे पास नैकपैक क्षमता के साथ एक उदाहरण है। डब्ल्यू इनपुट डेटा में दो बिट्स लेगा। अब हम शेष इनपुट को ध्यान में रखते हुए, knapsack क्षमता को बढ़ाकर 4 कर देंगे। हमारा इनपुट केवल एक बिट से बढ़ा है, लेकिन कम्प्यूटेशनल जटिलता दो गुना बढ़ गई है। यदि हम क्षमता को 1024 तक बढ़ाते हैं, तो हमारे पास W के लिए 2 के बजाय इनपुट के सिर्फ 10 बिट्स होंगे, लेकिन जटिलता 512 के कारक से बढ़ गई है। समय की जटिलता बाइनरी (या दशमलव) प्रतिनिधित्व में डब्ल्यू के आकार में तेजी से बढ़ती है ।
एक और सरल उदाहरण जिसने मुझे छद्म-बहुपत्नी अवधारणा को समझने में मदद की, वह है भोला-भाला परीक्षण एल्गोरिथ्म। किसी दिए गए नंबर n के लिए हम जाँच कर रहे हैं यदि यह प्रत्येक पूर्णांक संख्या द्वारा समान रूप से 2 सीमा में विभाजित है। लेकिन यहाँ, n इनपुट का परिमाण है, आकार नहीं है।
Now The regular O(n) case
इसके विपरीत, दिए गए तत्व के लिए एक सरणी की खोज बहुपद समय में चलती है: O (n)। यह अधिकांश n चरणों में होता है और यहाँ n इनपुट का आकार (सरणी की लंबाई) है।
[ यहाँ देखें ]
दशमलव संख्या को संग्रहीत करने के लिए आवश्यक बिट्स की गणना करना