मैंने this जैसे लिंक किए गए सूचियों के कार्यान्वयन के साथ देशी पायथन सूची के प्रदर्शन की तुलना में कुछ त्वरित प्रयोग करने की कोशिश की है।क्यों पाइथन में देशी लिंक्ड सूची कार्यान्वयन नहीं है?
देशी पायथन सूचियां उन मामलों में गैर देशी लिंक्ड सूची से हमेशा तेज़ होती हैं जहां उन्हें नहीं होना चाहिए (सिद्धांत के अनुसार)।
from linkedlist import *
import time
a = LinkedList()
b = []
for i in range(1000000):
b.append(i)
a.add_first(i)
t0 = time.clock()
a.remove(10)
t1 = time.clock()
b.remove(10)
t2 = time.clock()
print t1-t0
print t2-t1
परिणाम मैं परीक्षण पर है ऊपर हैं:
देशी लिंक्ड सूची = 2.00000000001e-05
अजगर सूची = 0,005576
गैर देशी सूची जुड़ा हुआ = 3.90000000001e-05
तो, मैं सोच रहा था कि क्यों पाइथन के मूल लिंक्ड सूची डेटा संरचना नहीं है। पायथन के मामले में, यह मुझे लगता है कि यह मानक लाइब्रेरी के कुछ पहलुओं को गति देने के लिए मानक सूचियों की बजाय लिंक्ड लिस्ट में उपयोगी एल्गोरिदमिक रूप से बोल सकता है।
मेरी समझ यह है कि सूची डेटा संरचना भाषा का एक प्रमुख भवन ब्लॉक है और यह कोड को उस डेटा संरचना पर ध्यान केंद्रित करने के लिए अधिक रखरखाव और आसानी से अनुकूलन बनाता है।
क्या कोई अन्य कारण है?
मुझे आपके परीक्षण में दो 'प्रिंट' और तीन परिणाम मिलते हैं - आपकी "मूल" लिंक्ड सूची कहां से आ रही है? – Eric
मैंने अलग-अलग कार्यान्वयन के साथ कई बार परीक्षण चलाए हैं, साथ ही मैंने इस त्वरित और सुपर गंदे कोड को स्विंग के साथ बनाया है http://cl.ly/code/2A3t352q1m1Y – lc2817
क्या आप पूछ रहे हैं "क्यों डेवलपर्स ने लिंक की गई सूची डीएस को बाहर करने का निर्णय लिया अजगर? " अनुलेख मुझे लगता है कि प्रश्न SO में फिट करने के लिए थोड़ा सा व्यक्तिपरक है, शायद प्रोग्रामर.एसई? – amit