2013-11-27 14 views

उत्तर

19

एक सारांश में के लिए:

list - Average: O(n) 
set/dict - Average: O(1), Worst: O(n) 

अधिक जानकारी के लिए this देखें।

+0

इसलिए यदि मुझे यह जांचने की आवश्यकता है कि एक स्ट्रिंग एक कुंजी में कुंजी के रूप में मौजूद है या नहीं। तो यह ओ (1) ले जाएगा। लेकिन अगर मुझे यह देखने की ज़रूरत है कि सूची में एक स्ट्रिंग मौजूद है तो ओ (एन) सही है? –

+0

या यहां तक ​​कि यदि मेरे पास स्ट्रिंग का एक सेट है और स्ट्रिंग की एक सूची है, तो सेट में एक्स x सूची में x से तेज़ होगा? –

+0

औसत मामले में हाँ। – lennon310

7

इसका कोई सामान्य जवाब नहीं है: यह a और विशेष रूप से b के प्रकारों पर निर्भर करता है। यदि, उदाहरण के लिए, b एक सूची है, तो हाँ, in सबसे खराब-केस समय O(len(b)) लेता है। लेकिन अगर, उदाहरण के लिए, b एक dict या एक सेट है, तो in अपेक्षित-केस समय O(1) (यानी निरंतर समय) लेता है।

"क्या ए> बी?" के बारे में, आपने A या B को परिभाषित नहीं किया है। उपरोक्त के रूप में, आपके in कथनों में से कोई भी सामान्य उत्तर नहीं देता है।

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