में किसी सूची से उप सूची कैसे प्राप्त करें I सूची सूची को देख रहा हूं। ऐसा लगता है कि लाइब्रेरी sublist
फ़ंक्शन प्रदान नहीं करती है।ओकैम
मैं से से जे से तत्वों की सूची प्राप्त करने का प्रयास कर रहा हूं।
let rec sublist list i j =
if i > j then
[]
else
(List.nth list i) :: (sublist list (i+1) j)
जो काफी संक्षिप्त लेकिन मैं List.nth
की दक्षता पर सवाल कर रहा हूँ, क्योंकि अगर यह हे (एन) है, मैं नहीं बल्कि एक कम संक्षिप्त में यह लिखने के लिए होगा: अब मैं इसे लिखने के लिए के रूप में है मार्ग।
मैं सोच रहा हूँ क्यों वे List.sublist
समारोह प्रदान नहीं किया, अगर List.nth
हे (1) नहीं है, क्योंकि यह इस तरह के एक बहुत आम आपरेशन है ..
दरअसल, मैं गलत था: इंटरएडिएट सूची के कारण, न्यूएक्ट के फ़ंक्शन का अन-अनुकूलित कॉल-बाय-वैल्यू मूल्यांकन ओ (लम्बाई (एल)) भी है। एमएल में एसिम्प्टोटिक जटिलता ओ (ई) को संरक्षित करने के लिए, आपको पहले 'लेना' होगा, फिर 'ड्रॉप' करना होगा। –