2010-02-08 12 views
26

ओ (1) अंतरिक्ष का क्या अर्थ है? मैं समझता हूं कि ओ (एन) चरण एक एल्गोरिदम/प्रोग्राम बनाता है गणना की परिमाण के क्रम की तरह है, लेकिन यह नहीं पता कि ओ (एन) अंतरिक्ष क्या है।इसका क्या अर्थ है: ओ (एन) चरण और ओ (1) अंतरिक्ष?

उत्तर

42

ओ (1) अंतरिक्ष का अर्थ है कि एल्गोरिदम द्वारा आवश्यक स्मृति निरंतर है, यानी इनपुट के आकार पर निर्भर नहीं है।

ओ (एन) अंतरिक्ष का अर्थ है कि एल्गोरिदम द्वारा आवश्यक स्मृति में (सबसे खराब मामले में) इनपुट के आकार के रूप में परिमाण का एक ही क्रम है।

संपादित: दो उदाहरण जोड़ना:

  • Bubblesort हे (1) अंतरिक्ष की आवश्यकता है।
  • मेर्गसोर्ट को ओ (एन) स्पेस की आवश्यकता है।
+0

तो मूल रूप से एक रिकर्सिव कॉल आमतौर पर ओ (एन) स्पेस होगा और एक पुनरावृत्ति प्रक्रिया ओ (1) होगी क्योंकि आप एक रिकर्सिव कॉल (ओं) को समाप्त करने की प्रतीक्षा नहीं कर रहे हैं? – Devoted

+0

दो आम उदाहरण जोड़े गए। खैर, आप वास्तव में रिकर्सिव बनाम पुनरावर्तक एल्गोरिदम जटिलताओं के बारे में सामान्य नियम नहीं ढूंढ सकते हैं (लेकिन शायद यह मुश्किल है - असंभव नहीं है- एक रिकर्सिव एल्गोरिदम के लिए ओ (1) स्पेस जटिलता है)। – 3lectrologos

+2

यदि आपके रिकर्सिव कॉल ने हर बार इसे नए चर का उपयोग किया था तो हाँ यह ओ (एन) स्पेस होगा। यदि आपकी पुनरावृत्ति प्रक्रिया को बिना किसी लूप में नए चर को तुरंत चालू किया जाता है तो यह भी ओ (एन) होगा। यह सब इस बात पर निर्भर करता है कि आप एल्गोरिदम को कैसे डिज़ाइन और कोड करते हैं। – Nikhil

2

अनिवार्य रूप से "हे (एन) कदम और हे (1) अंतरिक्ष" का मतलब होगा चरणों की संख्या एल्गोरिथ्म करता है कि मदों की संख्या के साथ रैखिक पैमाने (ओ (एन)), लेकिन स्मृति की मात्रा यह लेता है स्थिर है।

संबंधित मुद्दे