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

JavaScript में पुनरावर्ती और लूप-आधारित फैक्टोरियल फ़ंक्शन के प्रदर्शन की तुलना


हम दो JavaScript फ़ंक्शन लिखेंगे, जिनका काम एक संख्या लेकर उसका फैक्टोरियल लौटाना होगा।

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

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

उदाहरण

निम्नलिखित कोड देखें:

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. JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स

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

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

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक ऐरे लेता है और दूसरा ऐरे लौटाता है, इस ऐरे का पहला एलिमेंट इनपुट ऐरे का सबसे छोटा एलिमेंट होना चाहिए और दूसरा इनपुट ऐरे का सबसे बड़ा एलिमेंट होना चाहिए।उदाहरणनिम्नलिखित कोड है − greatest){ greatest = val; }; if(val < smallest){ smallest = val; };