पायथन कक्षा में नीचे सूचीबद्ध अनुसार छह आवश्यकताएं हैं। केवल बोल्ड शब्द आवश्यकताओं के रूप में पढ़ा जाना है।कोई भी इस पायथन डेटा संरचना को जानता है?
-
को
हे (1) के बाद के चार आपरेशन के रूप में कई के लिए प्रदर्शन बंद
- ।
- को कंटेनर में एक ऑब्जेक्ट डालने के दौरान सॉर्ट किए गए क्रम को बनाए रखना।
- की क्षमता पिछले मूल्य (वस्तु का सबसे बड़ा मूल्य) पर अंकित है।
- के लिए अनुमति देना दोनों तरफ (सबसे छोटे या सबसे बड़े मूल्य प्राप्त करना) पर पॉप करता है।
- की क्षमता कुल आकार या संग्रहीत वस्तुओं की संख्या प्राप्त करने की क्षमता।
- तैयार किए गए समाधान पायथन के मानक पुस्तकालय में कोड की तरह।
इस प्रकार क्या ऐतिहासिक कारणों के लिए यहाँ छोड़ दिया है (उत्सुक मदद और साबित होता है कि अनुसंधान का आयोजन किया गया था)।
पायथन के मानक लाइब्रेरी (विशेष रूप से डेटा प्रकार पर खंड) के माध्यम से देखने के बाद, मैं अभी भी एक वर्ग है कि एक विखंडन तालिका की आवश्यकताओं आवश्यकताओं को पूरा नहीं मिली है। collections.deque
जो आवश्यक है उसके करीब है, लेकिन यह सॉर्ट किए गए डेटा को रखने में सहायता नहीं करता है। यह प्रदान करता है:
- कुशल संलग्न और हे (1) प्रदर्शन के साथ एक Deque के दोनों तरफ पॉप्स।
- ऑब्जेक्ट के भीतर मौजूद डेटा के लिए दोनों तरफ पर पॉप।
- कुल आकार या भीतर मौजूद वस्तुओं की गणना प्राप्त करना।
सूचियों का उपयोग करके एक अक्षम समाधान को कार्यान्वित करना मामूली होगा, लेकिन अच्छी तरह से प्रदर्शन करने वाली कक्षा को ढूंढना कहीं अधिक वांछनीय होगा। ऊपरी सीमा के साथ बढ़ती स्मृति सिमुलेशन में, ऐसी कक्षा खाली (हटाए गए) कोशिकाओं की अनुक्रमणिका रख सकती है और विखंडन स्तर को नीचे रख सकती है। bisect
मॉड्यूल मदद मिल सकती है:
- अनुसार क्रमबद्ध क्रम में एक सरणी रखने जबकि सरणी में नई वस्तुओं डालने में मदद करता है।
- तैयार किए गए समाधान वस्तुओं को क्रमबद्ध सूचियों को रखने के लिए जोड़े गए हैं।
- सरणी में पर अंतिम मूल्य पर
array[-1]
से निष्पादित करने की अनुमति देगा।
अंतिम उम्मीदवार जो आवश्यकताओं को पूरी तरह से पूरा करने में असफल रहा और कम से कम आशाजनक दिखाई दिया heapq
मॉड्यूल था। कुशल प्रविष्टियों की तरह दिखने और यह सुनिश्चित करने के दौरान कि array[0]
सबसे छोटा मूल्य था, सरणी हमेशा पूरी तरह से क्रमबद्ध स्थिति में नहीं होती है। सहायक के रूप में कुछ भी नहीं मिला था।
किसी अजगर में कक्षा या डेटा संरचना का पता है कि आता है करीब इन छह आवश्यकताओं के लिए?
कौन सी 6 आवश्यकताएं? "* दोनों ओर * * पर कुशल संलग्न करें और" डालने के दौरान क्रमबद्ध क्रम में एक सरणी रखें "विरोधाभासी हैं। – kennytm
यही कारण है कि मैं ** कुछ चाहता हूं जो आवश्यकताओं के करीब ** आता है। –
मुझे लगता है कि परिशिष्ट के लिए ओ (1) प्रदर्शन केवल तभी होता है जब यह न्यूनतम/अधिकतम हो? – user470379