in
in
ऑपरेटर की गति पाइथन में पुनरावर्तक की लंबाई के अनुपात में है?पाइथन "ऑपरेटर की गति" में
तो,
len(x) #10
if(a in x): #lets say this takes time A
pass
len(y) #10000
if(a in y): #lets say this takes time B
pass
A> बी है?
in
in
ऑपरेटर की गति पाइथन में पुनरावर्तक की लंबाई के अनुपात में है?पाइथन "ऑपरेटर की गति" में
तो,
len(x) #10
if(a in x): #lets say this takes time A
pass
len(y) #10000
if(a in y): #lets say this takes time B
pass
A> बी है?
एक सारांश में के लिए:
list - Average: O(n)
set/dict - Average: O(1), Worst: O(n)
अधिक जानकारी के लिए this देखें।
इसका कोई सामान्य जवाब नहीं है: यह a
और विशेष रूप से b
के प्रकारों पर निर्भर करता है। यदि, उदाहरण के लिए, b
एक सूची है, तो हाँ, in
सबसे खराब-केस समय O(len(b))
लेता है। लेकिन अगर, उदाहरण के लिए, b
एक dict या एक सेट है, तो in
अपेक्षित-केस समय O(1)
(यानी निरंतर समय) लेता है।
"क्या ए> बी?" के बारे में, आपने A
या B
को परिभाषित नहीं किया है। उपरोक्त के रूप में, आपके in
कथनों में से कोई भी सामान्य उत्तर नहीं देता है।
इसलिए यदि मुझे यह जांचने की आवश्यकता है कि एक स्ट्रिंग एक कुंजी में कुंजी के रूप में मौजूद है या नहीं। तो यह ओ (1) ले जाएगा। लेकिन अगर मुझे यह देखने की ज़रूरत है कि सूची में एक स्ट्रिंग मौजूद है तो ओ (एन) सही है? –
या यहां तक कि यदि मेरे पास स्ट्रिंग का एक सेट है और स्ट्रिंग की एक सूची है, तो सेट में एक्स x सूची में x से तेज़ होगा? –
औसत मामले में हाँ। – lennon310