"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में न्यूनतम और अधिकतम ढेर के साथ स्ट्रीमिंग डेटा का प्रबंधन: एक डिजिटल एथलीट स्वास्थ्य तकनीक परिप्रेक्ष्य

जावास्क्रिप्ट में न्यूनतम और अधिकतम ढेर के साथ स्ट्रीमिंग डेटा का प्रबंधन: एक डिजिटल एथलीट स्वास्थ्य तकनीक परिप्रेक्ष्य

2024-11-06 को प्रकाशित
ब्राउज़ करें:516

Managing Streaming Data with Min and Max Heaps in JavaScript: A Digital Athlete Health Tech Perspective

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

ढेर क्या हैं?

हीप एक विशेष बाइनरी ट्री-आधारित डेटा संरचना है जो हीप संपत्ति को संतुष्ट करती है। मिनट हीप में, पैरेंट नोड हमेशा अपने चाइल्ड नोड्स से छोटा या उसके बराबर होता है। इसके विपरीत, एक max heap में, मूल नोड हमेशा अपने चाइल्ड नोड्स से बड़ा या उसके बराबर होता है। यह हीप्स को डेटासेट से न्यूनतम या अधिकतम मान कुशलतापूर्वक प्राप्त करने के लिए विशेष रूप से उपयोगी बनाता है।

न्यूनतम हीप उपयोग मामला: पुनर्प्राप्ति समय पर नज़र रखना

कल्पना करें कि आप एक चिकित्सक हैं जो कसरत के बाद एथलीटों के ठीक होने के समय पर नज़र रख रहे हैं। आप सबसे कम रिकवरी समय का कुशलतापूर्वक ट्रैक रखना चाहते हैं ताकि आप तुरंत पहचान सकें कि कौन सा एथलीट सबसे तेजी से ठीक हुआ।

न्यूनतम ढेर बनाना

जावास्क्रिप्ट में, आप एक सरणी का उपयोग करके एक न्यूनतम ढेर बना सकते हैं और ढेर संपत्ति को बनाए रखने के लिए इसे सरल कार्यों के साथ प्रबंधित कर सकते हैं:

class MinHeap {
    constructor() {
        this.heap = [];
    }

    getMin() {
        return this.heap[0];
    }

    insert(value) {
        this.heap.push(value);
        this.bubbleUp();
    }

    bubbleUp() {
        let index = this.heap.length - 1;
        while (index > 0) {
            let parentIndex = Math.floor((index - 1) / 2);
            if (this.heap[parentIndex] 



एथलीट रिकवरी टाइम्स के लिए न्यूनतम ढेर का उपयोग करना

अब, आइए इसे अपने परिदृश्य पर लागू करें:

const recoveryTimes = new MinHeap();
recoveryTimes.insert(10); // Athlete A
recoveryTimes.insert(7);  // Athlete B
recoveryTimes.insert(12); // Athlete C

console.log("Fastest recovery time:", recoveryTimes.getMin()); // Outputs: 7

यहां, न्यूनतम ढेर चिकित्सक को सबसे तेज़ रिकवरी समय वाले एथलीट की पहचान करने की अनुमति देता है, जो प्रशिक्षण सत्र के दौरान वास्तविक समय पर निर्णय लेने के लिए महत्वपूर्ण है।

मैक्स हीप उपयोग केस: पीक परफॉर्मेंस मेट्रिक्स की निगरानी

दूसरी ओर, अधिकतम ढेर उन परिदृश्यों के लिए आदर्श है जहां आपको उच्चतम मूल्यों को ट्रैक करने की आवश्यकता होती है, जैसे कि गहन कसरत के दौरान अधिकतम हृदय गति जैसे चरम प्रदर्शन मेट्रिक्स की निगरानी करना।

मैक्स हीप बनाना

अधिकतम ढेर को कुछ समायोजनों के साथ न्यूनतम ढेर के समान ही लागू किया जा सकता है:

class MaxHeap {
    constructor() {
        this.heap = [];
    }

    getMax() {
        return this.heap[0];
    }

    insert(value) {
        this.heap.push(value);
        this.bubbleUp();
    }

    bubbleUp() {
        let index = this.heap.length - 1;
        while (index > 0) {
            let parentIndex = Math.floor((index - 1) / 2);
            if (this.heap[parentIndex] >= this.heap[index]) break;
            [this.heap[parentIndex], this.heap[index]] = [this.heap[index], this.heap[parentIndex]];
            index = parentIndex;
        }
    }

    extractMax() {
        if (this.heap.length === 1) return this.heap.pop();
        const max = this.heap[0];
        this.heap[0] = this.heap.pop();
        this.bubbleDown();
        return max;
    }

    bubbleDown() {
        let index = 0;
        const length = this.heap.length;
        const element = this.heap[0];

        while (true) {
            let leftChildIndex = 2 * index   1;
            let rightChildIndex = 2 * index   2;
            let leftChild, rightChild;
            let swap = null;

            if (leftChildIndex  element) swap = leftChildIndex;
            }

            if (rightChildIndex  element) ||
                    (swap !== null && rightChild > leftChild)
                ) {
                    swap = rightChildIndex;
                }
            }

            if (swap === null) break;
            [this.heap[index], this.heap[swap]] = [this.heap[swap], this.heap[index]];
            index = swap;
        }
    }
}

अधिकतम हृदय गति के लिए मैक्स हीप का उपयोग करना

आइए विचार करें कि कसरत के दौरान एथलीटों की चरम हृदय गति को ट्रैक करने के लिए अधिकतम ढेर का उपयोग कैसे किया जा सकता है:

const heartRates = new MaxHeap();
heartRates.insert(150); // Athlete A
heartRates.insert(165); // Athlete B
heartRates.insert(160); // Athlete C

console.log("Peak heart rate:", heartRates.getMax()); // Outputs: 165

यहां, अधिकतम ढेर यह सुनिश्चित करता है कि चिकित्सक उच्चतम हृदय गति तक पहुंचने वाले एथलीट की तुरंत पहचान कर सकता है, जो संकेत दे सकता है कि आगे ध्यान देना या शांत होना आवश्यक है।

अन्य बुनियादी ढेर संचालन

तत्वों को सम्मिलित करने और न्यूनतम या अधिकतम मान प्राप्त करने के अलावा, ढेर अन्य बुनियादी संचालन का समर्थन करते हैं, जैसे:

  • न्यूनतम/अधिकतम निकालना: यह ढेर की जड़ को हटा देता है (न्यूनतम ढेर में सबसे छोटा तत्व या अधिकतम ढेर में सबसे बड़ा) और ढेर को पुनर्संतुलित करता है।
  • Heapify: एक मनमाना सरणी को ढेर में परिवर्तित करना, यह सुनिश्चित करना कि ढेर संपत्ति बनी हुई है।
  • पीक: ढेर से हटाए बिना न्यूनतम या अधिकतम मान देखना।

ये ऑपरेशन वास्तविक समय में डेटा को कुशलतापूर्वक प्रबंधित और संसाधित करने के लिए आवश्यक हैं, जिससे हीप्स स्वास्थ्य तकनीकी अनुप्रयोगों में एक मूल्यवान उपकरण बन जाता है।

पायथन और जावास्क्रिप्ट में हीप संचालन को सरल बनाना

पायथन में, heapq मॉड्यूल सूचियों का उपयोग करके न्यूनतम ढेर को प्रबंधित करने का एक सरल और कुशल तरीका प्रदान करता है। यहाँ एक उदाहरण है:

import heapq

# Create an empty list to represent the heap
recovery_times = []

# Add elements to the heap
heapq.heappush(recovery_times, 10)  # Athlete A
heapq.heappush(recovery_times, 7)   # Athlete B
heapq.heappush(recovery_times, 12)  # Athlete C

# Retrieve the smallest element (fastest recovery time)
fastest_recovery_time = heapq.heappop(recovery_times)
print(f"Fastest recovery time: {fastest_recovery_time}")  # Outputs: 7

जावास्क्रिप्ट के लिए, हालांकि कोई अंतर्निहित हीप मॉड्यूल नहीं है, आप समान कार्यक्षमता प्राप्त करने के लिए @datastructures-js/priority-queue जैसी तृतीय-पक्ष लाइब्रेरी का उपयोग कर सकते हैं:

// First, you would need to install the @datastructures-js/priority-queue library using npm:
// npm install @datastructures-js/priority-queue

const { MinPriorityQueue } = require('@datastructures-js/priority-queue');

// Create a new min heap
const minHeap = new MinPriorityQueue();

// Add elements to the heap
minHeap.enqueue(10); // Athlete A
minHeap.enqueue(7);  // Athlete B
minHeap.enqueue(12); // Athlete C

// Retrieve the smallest element
const fastestRecoveryTime = minHeap.dequeue().element;
console.log("Fastest recovery time:", fastestRecoveryTime); // Outputs: 7

इन उपकरणों का लाभ उठाकर, आप हीप कार्यान्वयन के विवरण में उलझे बिना, अपने एप्लिकेशन के महत्वपूर्ण पहलुओं पर ध्यान केंद्रित कर सकते हैं, जैसे एथलीट डेटा का विश्लेषण।

जावास्क्रिप्ट में कुशलतापूर्वक डेटा पुनर्प्राप्त करना

हीप्स, विशेष रूप से न्यूनतम और अधिकतम हीप्स, जावास्क्रिप्ट में महत्वपूर्ण डेटा को कुशलतापूर्वक प्रबंधित करने और पुनर्प्राप्त करने के लिए शक्तिशाली उपकरण हैं। चाहे आप पुनर्प्राप्ति समय पर नज़र रख रहे हों या चरम प्रदर्शन मेट्रिक्स की निगरानी कर रहे हों, ये संरचनाएं चिकित्सकों और स्वास्थ्य तकनीक पेशेवरों को तुरंत सूचित निर्णय लेने में मदद करती हैं। ढेरों को समझने और लागू करने से, आप यह सुनिश्चित कर सकते हैं कि आपका एथलीट डेटा व्यवस्थित, सुलभ और विश्लेषण के लिए तैयार है जब यह सबसे महत्वपूर्ण हो।

अपने स्वास्थ्य तकनीक अनुप्रयोगों में ढेर का उपयोग करके, आप डेटा को इस तरह से प्रबंधित करने में सक्षम होंगे जो एथलीटों के लिए बेहतर परिणामों का समर्थन करता है, प्रदर्शन और पुनर्प्राप्ति को अनुकूलित करने के लिए आवश्यक अंतर्दृष्टि प्रदान करता है।

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/adg29/managing-streaming-data-with-ni-no-shax-and-heaps-n-javascript-a-digital-athlete-health-health-perspective-3d7g?1 यदि कोई उल्लंघन है, तो कृपया इसे पूरा करने के लिए अध्ययन करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3