में पूर्णकालिक जटिलता पिछले सप्ताह स्कूल में एक असाइनमेंट था ताकि fibonacci अनुक्रम में n: th संख्या की गणना करने के लिए एक फ़ंक्शन को कार्यान्वित किया जा सके। फंक्शन ओ (एन) समय जटिलता देने के लिए संचय (सही अनुवाद नहीं हो सकता है) का उपयोग करके इसे 'उप-असाइनमेंट' लागू करना था। जब तक मैंने फ़ंक्शन (इंट -> इंटीजर) बनाने की कोशिश नहीं की, तब तक यह सब ठीक काम किया। थोड़ा प्रयोग करके मुझे एहसास हुआ कि वास्तव में बड़ी संख्या के लिए समय जटिलता ओ (एन^2) के करीब थी। यह मेरे लिए होता है कि यह इंटीजर कार्यान्वयन के कारण होना चाहिए, जो मुझे यह कैसे काम करता है इसके बारे में थोड़ा उत्सुक बनाता है। मैंने कुछ Google खोज की और मुझे कुछ भी उपयोगी नहीं मिला, इसलिए मैं आपको लोगों को स्पष्टीकरण या एक लिंक प्राप्त करने की आशा में बदल रहा हूं जो इसे पूरी तरह से समझाता है।हास्केल
मेरे कोड:
ackfib 0 = 0
ackfib 1 = 1
ackfib n = loop n 1 0 1
where
loop n n1 n2 i
| i < n = loop n (n1+n2) n1 (i+1)
| i == n = n1
| i > n = error "n must be greater than or equal to 0"
मैं सभी के लिए आभारी हूँ उत्तर देता
विक्टर
आमतौर पर मामला है, अपना कोड पोस्ट करें। – Juliet
यह मेरे कोड के बारे में नहीं है, यह इंटीजर प्रकार के कार्यान्वयन के बारे में है। – vichle
हम पूरी तस्वीर को देखे बिना कोई स्पष्टीकरण नहीं खींच सकते हैं। इस मामले में, आपका कोड है। – Juan