हम दो जावास्क्रिप्ट फंक्शन लिखेंगे, दोनों फंक्शन का काम एक नंबर लेना और उसका फैक्टोरियल वापस करना होगा।
पहले फ़ंक्शन को फैक्टोरियल की गणना करने के लिए लूप या लूप के लिए उपयोग करना चाहिए। जबकि दूसरे फ़ंक्शन को पुनरावर्ती दृष्टिकोण का उपयोग करके फैक्टोरियल की गणना करनी चाहिए।
अंत में, हमें बड़ी संख्या में पुनरावृत्तियों पर इन कार्यों द्वारा लिए गए समय की तुलना करनी चाहिए।
उदाहरण
निम्नलिखित कोड है -
const factorial = (num = 1) => { let result = 1; for (let i = 2; i <= num; i += 1) { result *= i; } return result; } const factorialRecursive = (num = 1) => { if(num > 1){ return num * factorialRecursive(num - 1); }else{ return 1; } }; const ITERATIONS = 100000000; const num = 12; console.time('Looping Approach'); for(let i = 0; i < ITERATIONS; i++){ factorial(num); }; console.timeEnd('Looping Approach'); console.time('Recursive Approach'); for(let j = 0; j < ITERATIONS; j++){ factorialRecursive(num); }; console.timeEnd('Recursive Approach');
आउटपुट
कंसोल पर आउटपुट निम्नलिखित है -
Looping Approach: 886.720ms Recursive Approach: 6526.203ms
यह समय एक मशीन से दूसरी मशीन में अलग-अलग होगा क्योंकि अनुपात कमोबेश एक जैसा ही रहेगा।