बहुपद समय और घातांक समय


90

क्या कोई बहुपद-समय, गैर-बहुपद-समय और घातांक-समय एल्गोरिदम के बीच अंतर समझा सकता है?

उदाहरण के लिए, यदि कोई एल्गोरिथ्म O (n ^ 2) समय लेता है, तो वह किस श्रेणी में है?

जवाबों:


85

चेक इस बाहर।

घातीय बहुपद से भी बदतर है।

O (n ^ 2) द्विघात श्रेणी में आता है, जो एक प्रकार का बहुपद है (घातांक का विशेष मामला 2 के बराबर) और घातांक से बेहतर है।

घातीय बहुपद की तुलना में बहुत खराब है। देखो कि कैसे कार्य बढ़ते हैं

n    = 10    |     100   |      1000

n^2  = 100   |   10000   |   1000000 

k^n  = k^10  |   k^100   |    k^1000

k ^ 1000 असाधारण रूप से विशाल है जब तक कि k 1.1 की तरह कुछ से छोटा नहीं होता है। जैसे, ब्रह्माण्ड के प्रत्येक कण को ​​कुछ ऐसा करना होगा कि अरबों-खरबों अरबों-खरबों के लिए प्रति सेकंड 100 बिलियन बिलियन का ऑपरेशन करना पड़े।

मैंने इसकी गणना नहीं की है, लेकिन यह बड़ी बात है।


29
मैंने आपकी सभी बीमारियों का आनंद लिया।
जोसेफिन

7
कश्मीर ^ 1000 असाधारण विशाल है अगर कश्मीर से 1. कोई उल्लेखनीय बड़ा है k = 1 यह कम प्रभावशाली है, और अगर k = १.०,००,६९,३८७ ..., यह 2. है
जोसफिन

2
कैसे n के बारे में! बनाम के ^ एन। मैं 2 ^ n (सबसे आम) के लिए जानता हूं, n! और अधिक महंगा हो जाएगा, लेकिन मुझे विश्वास है कि एक सामान्य कश्मीर के लिए ^ n जहां k> 2, n! कम खर्चीला होगा।
साद

1
मुझे खुशी है कि आपने "अरबों और अरबों" नहीं कहा। :-)
टॉम रसेल

@ स नद! हमेशा एक स्थिर कश्मीर के लिए, k asymptotically k ^ n से अधिक महंगा होगा। आप सही कह रहे हैं, हालांकि, यह केवल एक बार मामला है जब हम एन के उच्च मूल्य पर पहुंचते हैं। स्टर्लिंग के सन्निकटन से, फैक्टोरियल समय और अधिक महंगा हो जाना चाहिए जब n = e * k, जहाँ e = 2.71828 ..
inavda

136

एल्गोरिदम का विश्लेषण करते समय नीचे कुछ सामान्य बिग-ओ फ़ंक्शन हैं।

  • ओ ( 1 ) - निरंतर समय
  • O ( log (n) ) - लघुगणक समय
  • O ( (log (n)) c ) - बहुव्रीहि काल
  • O ( n ) - रैखिक समय
  • O ( n 2 ) - द्विघात समय
  • O ( n c ) - बहुपद समय
  • O ( c n ) - घातीय समय
  • ओ ( एन! ) - भाज्य समय

(n = इनपुट का आकार, c = कुछ स्थिर)

यहां कुछ कार्यों की बिग-ओ जटिलता का प्रतिनिधित्व करने वाला मॉडल ग्राफ दिया गया है

ग्राफ मॉडल

चीयर्स :-)

ग्राफ क्रेडिट http://bigocheatsheet.com/


12
कम शब्दों और अधिक स्पष्टता के लिए एक प्लस।
user3144836

1 = n ^ 0 तो भी बहुपद
BigChief

46

O (n ^ 2) बहुपद समय है। बहुपद f (n) = n ^ 2 है। दूसरी ओर, O (2 ^ n) घातांक समय है, जहां निहित कार्य फ़ंक्शन f (n) = 2 ^ n है। अंतर यह है कि एन स्थानों का कार्य n प्रतिपादक के आधार पर n है, या प्रतिपादक में ही।

किसी भी बहुपद फ़ंक्शन की तुलना में कोई भी घातीय वृद्धि फ़ंक्शन काफी तेजी से (दीर्घकालिक) बढ़ेगा, इसलिए भेद एल्गोरिथ्म की दक्षता के लिए प्रासंगिक है, विशेष रूप से एन के बड़े मूल्यों के लिए।


इस उत्तर में एक आधिकारिक (अच्छा) हवा है, लेकिन यह @ धीरन के जवाब से अलग है, मेरा मानना ​​है कि, घातीय मामले में आधार आवश्यक रूप से 2. है या शायद मुझे गलतफहमी है और बस मुझे अपने बीजगणित को धूल चटाने की जरूरत है।
टॉम रसेल

21

बहुपदी समय फलन।

एक बहुपद शब्दों का एक योग है जो Constant * x^k एक्सपोनेंशियल का अर्थ है जैसे कुछConstant * k^x

(दोनों मामलों में, k एक स्थिर है और x एक परिवर्तनशील है)।

घातीय एल्गोरिदम का निष्पादन समय बहुपद की तुलना में बहुत तेजी से बढ़ता है।


18

घातांक (आप एक घातीय कार्य है यदि न्यूनतम एक निर्यातक एक पैरामीटर पर निर्भर है):

  • उदा च (x) = स्थिर ^ x

बहुपद (आप एक बहुपद समारोह है अगर कोई विस्तार कुछ फ़ंक्शन मापदंडों पर निर्भर है)

  • उदा च (x) = x ^ स्थिरांक

4
मुझे यह पसंद नहीं है यदि किसी उपयोगकर्ता द्वारा संपादित किए जाने के बाद मेरे मूल उत्तर में से कुछ भी नहीं बचा है। क्या यह किसी तरह का "फिशिंग" है?
एरहार्ड डिनोबॉल

2
मुझे सहमत होना होगा। बदलाव हास्यास्पद हैं।
शनि

3

बहुपद समय O (n) ^ k का अर्थ है ऑपरेशन की संख्या इनपुट के आकार के पावर k के समानुपाती है

घातांक समय O (k) ^ n साधन की संख्या इनपुट के आकार के घातांक के आनुपातिक हैं


0

o (n अनुक्रम) बहुपद समय जटिलता है जबकि o (2 ^ n) घातांक समय जटिलता है यदि p = np सबसे अच्छा मामला है, तो सबसे खराब स्थिति में p = np समतुल्य नहीं है जब इनपुट आकार n बढ़ता है तो दीर्घायु या इनपुट sizer वृद्धि होती है अब इसकी सबसे खराब स्थिति में जा रहा है और इतनी जटिलता वृद्धि दर को संभालने और इनपुट के n आकार पर निर्भर करता है जब इनपुट छोटा होता है तो यह बहुपद होता है जब इनपुट का आकार बड़ा और बड़ा होता है तो p = np न के बराबर होने का मतलब है कि विकास दर इनपुट के आकार पर निर्भर करती है "N "। अनुकूलन, सिट, क्लिक और स्वतंत्र सेट भी बहुपत्नी के समान हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.