2008-09-05 24 views
15

में अंतर्निहित अनुक्रम प्रकारों का समय और स्थान जटिलता कहां मिल सकती है, मैं इस जानकारी के लिए कोई स्रोत नहीं ढूंढ पा रहा हूं, यह निर्धारित करने के लिए कि पाइथन स्रोत कोड को देखने के लिए मैं ऑब्जेक्ट कैसे काम करता हूं। क्या किसी को पता है कि मुझे यह ऑनलाइन कहां मिल सकता है?मुझे पाइथन

उत्तर

17

py dot org विकी पर TimeComplexity पृष्ठ चेकआउट करें। इसमें कम से कम समय तक जटिलता के अनुसार सेट/डिक्ट्स/सूचियां/आदि शामिल हैं।

2

यदि आप पूछ रहे हैं कि मैं क्या पूछता हूं, तो आप उन्हें Here ... पृष्ठ 476 और चालू कर सकते हैं।

यह पायथन के लिए अनुकूलन तकनीकों के आसपास लिखा गया है; यह ज्यादातर समय की क्षमता के बिग-ओ नोटेशन की अधिक स्मृति नहीं है।

13

रेमंड डी। हेटिंगर an excellent talk (slides) पाइथन के निर्मित संग्रहों के बारे में 'कोर पायथन कंटेनर - अंडर द हूड' कहलाता है। मैंने देखा संस्करण मुख्य रूप से set और dict पर केंद्रित था, लेकिन list भी कवर किया गया था।

यूरोपीथन से a blog में प्रासंगिक स्लाइड की कुछ तस्वीरें भी हैं। संकेत की एक सरणी के रूप में

  • स्टोर आइटम:

    यहाँ एक list पर अपने नोटों की सार है। सदस्यता लागत ओ (1) समय। लागतों को संशोधित ओ (1) समय में संलग्न करें। लागत ओ (एन) समय डालें।

  • ओवर-आवंटन द्वारा बढ़ते समय memcpy से बचने का प्रयास करता है। कई छोटी सूचियां बहुत सी जगह बर्बाद कर देगी, लेकिन बड़ी सूचियां कुल मिलाकर 12.5% ​​से ज्यादा बर्बाद नहीं होतीं।
  • कुछ ऑपरेशन प्री-साइज। दिए गए उदाहरण range(n), map(), list(), [None] * n, और स्लाइसिंग थे।
  • घटते समय, सरणी realloc एड केवल तभी होती है जब यह 50% स्थान बर्बाद कर रही हो। pop सस्ता है।