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

JavaScript में बकेट सॉर्ट लागू करने का प्रोग्राम


बकेट सॉर्ट आकार n की सरणी को k बकेट में विभाजित करके काम करता है जो तत्व मानों की एक विशिष्ट रेंज रखते हैं।

फिर, इन बकेट को एक सॉर्टिंग एल्गोरिदम का उपयोग करके सॉर्ट किया जाता है जिसे अपेक्षित इनपुट आकार के आधार पर चुना जा सकता है।

हम इस एल्गोरिदम को निम्नानुसार वर्णित कर सकते हैं:

एल्गोरिदम:

प्रारंभिक bucketSort फ़ंक्शन बनाएं
i, min, max, और बकेट आकार के लिए चर बनाएं
न्यूनतम और अधिकतम मान ढूंढें
बकेट की मात्रा बनाएं
मानों को सही बकेट में डालें
बकेट को सॉर्ट करें

उदाहरण

इसका कोड निम्नलिखित होगा:

const arr = [32, 6, 34, 4, 78, 1, 6767, 4, 65, 34, 879, 7];
const bucketSort = arr => {
  if (arr.length === 0) {
    return arr;
  }
  let i,
  minValue = arr[0],
  maxValue = arr[0],
  bucketSize = 5;
  arr.forEach(function (currentVal) {
    if (currentVal < minValue) {
      minValue = currentVal;
    } else if (currentVal > maxValue) {
      maxValue = currentVal;
    }
  })
  let bucketCount = Math.floor((maxValue - minValue) / bucketSize) + 1;
  let allBuckets = new Array(bucketCount);
  for (i = 0; i < allBuckets.length; i++) {
    allBuckets[i] = [];
  }
  arr.forEach(function (currentVal) {
    allBuckets[Math.floor((currentVal - minValue) / bucketSize)].push(currentVal);
  });
  arr.length = 0;
  allBuckets.forEach(function(bucket) {
    insertion(bucket);
    bucket.forEach(function (element) {
      arr.push(element)
    });
  });
  return arr;
}
const insertion = arr => {
  let length = arr.length;
  let i, j;
  for(i = 1; i < length; i++) {
    let temp = arr[i];
    for(j = i - 1; j >= 0 && arr[j] > temp; j--) {
      arr[j+1] = arr[j];
    }
    arr[j+1] = temp;
  }
  return arr;
};
console.log(bucketSort(arr));

आउटपुट

कंसोल में आउटपुट:

[
  1, 4, 4, 6,
  7, 32, 34, 34,
  65, 78, 879, 6767
]

  1. - JavaScript में इंसर्शन सॉर्ट कैसे लागू करें?

    इंसर्शन सॉर्ट (Insertion Sort) यह एक बहुत ही सरल तुलना सॉर्ट है जो एक एरे को सॉर्ट करता है। एक तुलना सॉर्ट उस वर्तमान मान की तुलना करता है जिसे हम सॉर्ट करने की कोशिश कर रहे हैं, एरे में अन्य मानों के साथ। यह एक समय में एक आइटम के साथ काम करता है और प्रत्येक आइटम को सही स्थान पर पुनरावृत्त रूप से र

  1. - जावास्क्रिप्ट में रेडिक्स सॉर्ट

    रेडिक्स सॉर्ट एल्गोरिदम पूर्णांकों को बकेट्स में वितरित करता है जो किसी संख्या के महत्वपूर्ण अंक या मान (रेडिक्स) पर आधारित होता है। रेडिक्स ऐरे के मानों की संख्या प्रणाली पर आधारित होता है। आइए देखें कि इसे कैसे लागू किया जा सकता है। उदाहरण function radixSort(arr) {    // अधिकतम संख्या ख

  1. JavaScript Sort() मेथड JavaScript Sort() मेथड

    JavaScript Sort() मेथड का उपयोग ऐरे को सॉर्ट करने के लिए किया जाता है। सॉर्टिंग का क्रम वर्णमाला, न्यूमेरिक, आरोही या अवरोही हो सकता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="