इनपुट एक पूर्णांक एन है।
पहला उदाहरण: लघु कार्यक्रमों की एक जोड़ी इस तथ्य का उपयोग करती है कि ओ नोटेशन ऊपरी बाउंड है, इसलिए ओ (1) वाला एक प्रोग्राम ओ (एन) और ओ (एन^2), आदि है। ।
कार्यक्रम 1:
def prog1(n)
1.upto(n) do |i|
end
end
कार्यक्रम 2:
def prog2(n)
return
end
कार्यक्रम 1 हे (एन) और कार्यक्रम है 2 हे है (एन * एन) के साथ-साथ हे (एन) और ओ (1) और ओ (एन^एन^एन^एन^एन)।
फिर भी कार्यक्रम 2 कार्यक्रम की तुलना में तेजी है 1.
दूसरा उदाहरण: प्रोग्राम हैं जो तथ्य यह है कि हे संकेतन n बड़ा हो जाता है के रूप में व्यवहार पर निर्भर करता है का उपयोग की एक जोड़ी।
कार्यक्रम 1:
def prog2(n)
if n < 10^100
return
else
1.upto(n) do |i|
1.upto(n) do |j|
end
end
end
end
कार्यक्रम 1 है हे (एन) और कार्यक्रम 2 हे है (एन * एन): के रूप में
से पहले
कार्यक्रम 2 एक ही।
फिर भी प्रोग्राम 2 प्रोग्राम से तेज़ है> = 10^100 तक।
क्या यह कक्षा असाइनमेंट है? –
नहीं 'ओ (एन^2)' बनाम 'ओ (एन) 'लेकिन एक बबल प्रकार त्वरित प्रकार से तेज़ होता है जब डेटा का आकार छोटा होता है क्योंकि त्वरित क्रम के लिए ओवरहेड बबल प्रकार की गति से अधिक होता है। – NathanOliver
नहीं यह bjarne stroustrup की पुस्तक - द सी ++ प्रोग्रामिंग भाषा से एक प्रश्न है, और मैं कल्पना भी नहीं कर सकता कि यह कैसे संभव होगा। – anurag86