मैं सीएस स्टूडेंट भी नहीं हूं, इसलिए यह एक बेवकूफी भरा सवाल हो सकता है, लेकिन कृपया मेरे साथ सहन करें ...
पूर्व-कंप्यूटर युग में, हम केवल एक सरणी डेटा संरचना को ड्राअर के एक सरणी की तरह कुछ के साथ लागू कर सकते हैं। चूंकि किसी को इसके मूल्य से निकालने से पहले संबंधित सूचकांक के साथ दराज का पता लगाना होता है, इसलिए बाइनरी सर्च को मानते हुए व्यू लुकिंग की जटिलता ।
हालाँकि, कंप्यूटर के आविष्कार ने एक बड़ा बदलाव किया। आधुनिक कंप्यूटर अपने रैम से इतनी तेजी से पढ़ सकते हैं कि अब हम सरणी लुकिंग की समय जटिलता को मानते हैं (यहां तक कि यह तकनीकी रूप से ऐसा नहीं है, क्योंकि रजिस्टर को अधिक दूरी पर स्थानांतरित करने में अधिक समय लगता है, आदि)
एक अन्य उदाहरण पायथन डिक्शनरी है। हालांकि, एक को एक लिखित-लिखित अतिभारित जादू पद्धति (या हास्यास्पद रूप से बुरी किस्मत, यानी बहुत से हैश टक्कर वाले साथ का एक शब्दकोष जटिलता मिल सकती है , यह आमतौर पर माना जाता है । इस मामले में, समय जटिलता पायथन शब्दकोशों के हैश टेबल कार्यान्वयन और हैश कार्यों के कुंजी कार्यान्वयन पर निर्भर करती है।O ( 1 )__hash__
क्या इसका अर्थ यह है कि हार्डवेयर / कार्यान्वयन एल्गोरिदम के समय की जटिलता को प्रभावित कर सकता है? (जबकि दोनों उदाहरण एल्गोरिदम के बजाय डेटा संरचनाओं के बारे में हैं, बाद वाले पूर्व में निर्मित हैं, और मैंने डेटा संरचनाओं की समय जटिलता के बारे में कभी नहीं सुना है, इसलिए मैं यहां "एल्गोरिदम" शब्द का उपयोग कर रहा हूं)
मेरे लिए, एल्गोरिथम अमूर्त और वैचारिक हैं, जिनके समय / स्थान की जटिलता जैसे गुणों को प्रभावित नहीं किया जाना चाहिए चाहे वे एक विशिष्ट तरीके से लागू किए गए हों, लेकिन क्या वे हैं?