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

JavaScript में इंटरपोलेशन खोज (Interpolation Search)


इंटरपोलेशन खोज

इंटरपोलेशन खोज एक एल्गोरिदम है जो संख्यात्मक मानों द्वारा क्रमबद्ध सरणी में एक कुंजी की खोज करता है।

उदाहरण के लिए

मान लीजिए, हमारे पास n समान रूप से वितरित मूल्यों की एक क्रमबद्ध सरणी arr[] है, और हमें सरणी में किसी विशेष तत्व target को खोजने के लिए एक फ़ंक्शन लिखना है।

यह स्थिति खोजने के लिए निम्नलिखित संक्रियाएं करता है -

pos = lo + ((x - arr[lo]) * (hi - lo) / (arr[hi] - arr[lo]))

कुंजियाँ -

  • arr[] - वह सरणी जहां तत्वों को खोजा जाना है
  • x - खोजा जाने वाला तत्व
  • lo - arr[] में शुरुआती सूचकांक
  • hi - arr[] में अंतिम सूचकांक

हमें एक JavaScript फ़ंक्शन लिखना है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में खोज लक्ष्य लेता है।

फ़ंक्शन को सरणी में लक्ष्य खोजने के लिए इंटरपोलेशन खोज एल्गोरिदम का उपयोग करना चाहिए।

उदाहरण

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

const arr = [1, 4, 6, 7, 9, 12, 15, 16, 17, 23, 25, 26, 27, 31];
const target = 25;

const interpolationSearch = (arr = [], target) => {
  let left = 0;
  let right = arr.length - 1;
  while (left <= right) {
    const rangeDelta = arr[right] - arr[left];
    const indexDelta = right - left;
    const valueDelta = target - arr[left];
    if (valueDelta < 0) {
      return -1;
    }
    if (!rangeDelta) {
      return arr[left] === target ? left : -1;
    }
    const middleIndex = left + Math.floor((valueDelta * indexDelta) / rangeDelta);
    if (arr[middleIndex] === target) {
      return middleIndex;
    }
    if (arr[middleIndex] < target) {
      left = middleIndex + 1;
    } else {
      right = middleIndex - 1;
    }
  };
  return -1;
};

console.log(interpolationSearch(arr, target));

आउटपुट

कंसोल पर निम्नलिखित आउटपुट प्राप्त होगा:

10

  1. जावास्क्रिप्ट में बाइनरी सर्च ट्री जावास्क्रिप्ट में बाइनरी सर्च ट्री

    बाइनरी सर्च ट्री एक विशेष व्यवहार प्रदर्शित करता है। एक नोड का बायां चाइल्ड का मान उसके पैरेंट के मान से कम होना चाहिए और नोड के दाएं चाइल्ड का मान उसके पैरेंट के मान से अधिक होना चाहिए। हम इस खंड में मुख्य रूप से ऐसे ट्रीज़ पर ध्यान केंद्रित करेंगे। बाइनरी सर्च ट्री पर ऑपरेशन्स हम बाइनरी सर्च ट्र

  1. जावास्क्रिप्ट में स्ट्रिंग कैसे खोजें? जावास्क्रिप्ट में स्ट्रिंग कैसे खोजें?

    परिचय जावास्क्रिप्ट में स्ट्रिंग खोजने के लिए search() मेथड का उपयोग किया जाता है जो रेगुलर एक्सप्रेशन (या स्ट्रिंग जो रेगएक्सप में परिवर्तित हो जाती है) लेता है और पहले मिलान का इंडेक्स लौटाता है, या -1 यदि नहीं मिला। उदाहरण निम्न कोड जावास्क्रिप्ट में स्ट्रिंग खोजने के लिए है: <!DOCTYPE html

  1. जावास्क्रिप्ट में लीनियर सर्च लागू करना जावास्क्रिप्ट में लीनियर सर्च लागू करना

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