Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में रिकर्सिव और लूपेड फैक्टोरियल फ़ंक्शन के प्रदर्शन की तुलना करना

<घंटा/>

हम दो जावास्क्रिप्ट फंक्शन लिखेंगे, दोनों फंक्शन का काम एक नंबर लेना और उसका फैक्टोरियल वापस करना होगा।

पहले फ़ंक्शन को फैक्टोरियल की गणना करने के लिए लूप या लूप के लिए उपयोग करना चाहिए। जबकि दूसरे फ़ंक्शन को पुनरावर्ती दृष्टिकोण का उपयोग करके फैक्टोरियल की गणना करनी चाहिए।

अंत में, हमें बड़ी संख्या में पुनरावृत्तियों पर इन कार्यों द्वारा लिए गए समय की तुलना करनी चाहिए।

उदाहरण

निम्नलिखित कोड है -

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

यह समय एक मशीन से दूसरी मशीन में अलग-अलग होगा क्योंकि अनुपात कमोबेश एक जैसा ही रहेगा।


  1. जावास्क्रिप्ट में कार्यों और विधियों में क्या अंतर है?

    जावास्क्रिप्ट में कार्य और विधियाँ समान हैं, लेकिन विधि एक फ़ंक्शन है, जो किसी वस्तु का गुण है। जावास्क्रिप्ट में फ़ंक्शन का एक उदाहरण निम्नलिखित है - function functionname(param1, param2){    // code } उदाहरण विधि किसी ऑब्जेक्ट से संबद्ध एक फ़ंक्शन है। जावास्क्रिप्ट में एक विधि का उदाहरण

  1. जावास्क्रिप्ट में विनाशकारी और कार्य पैरामीटर

    जावास्क्रिप्ट में फ़ंक्शन पैरामीटर को नष्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&

  1. वह फ़ंक्शन जो JavaScript में किसी सरणी का न्यूनतम और अधिकतम मान लौटाता है

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक सरणी लेता है और दूसरी सरणी देता है, इस सरणी का पहला तत्व इनपुट सरणी का सबसे छोटा तत्व होना चाहिए और दूसरा इनपुट सरणी का सबसे बड़ा तत्व होना चाहिए। उदाहरण निम्नलिखित कोड है - const arr = [56, 34, 23, 687, 2, 56, 567]; const findMinMax = (arr = [])