शुरुआती लोगों के लिए जावास्क्रिप्ट में एल्गोरिदम और डेटा संरचनाएँ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: जावास्क्रिप्ट में एल्गोरिदम और डेटा संरचनाएँ क्यों सीखें?

\n\n

कोई भी प्रोग्राम केवल निर्देशों का एक सेट नहीं है, बल्कि डेटा को कुशलतापूर्वक प्रबंधित करने का एक तरीका है। जावास्क्रिप्ट (विशेषकर Node.js वातावरण में) पर शुरुआती डेवलपर्स के लिए, एल्गोरिदम और डेटा संरचनाओं को समझना केवल एक शैक्षणिक कार्य नहीं है, बल्कि एक व्यावहारिक कौशल है जो सीधे कोड के प्रदर्शन और पठनीयता को प्रभावित करता है।

\n\n

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

\n\n

जावास्क्रिप्ट (Node.js) में बुनियादी डेटा संरचनाएँ

\n\n

जावास्क्रिप्ट में कई डेटा संरचनाएँ अंतर्निहित हैं, लेकिन गहन समझ के लिए उन्हें मैन्युअल रूप से लागू करने में सक्षम होना चाहिए। यह मेमोरी और निष्पादन गति पर नियंत्रण देता है।

\n\n

ऐरे (Array)

\n

JS में ऐरे डायनामिक सूचियाँ हैं। वे क्रमबद्ध डेटा को संग्रहीत करने के लिए आदर्श हैं। हालाँकि, यह याद रखना महत्वपूर्ण है कि ऐरे की शुरुआत में एक तत्व को सम्मिलित करना या हटाना (unshift/shift) एक O(n) ऑपरेशन है, क्योंकि इसके लिए सभी तत्वों को स्थानांतरित करने की आवश्यकता होती है।

\n\n
// ऐरे बनाना\nconst fruits = ['apple', 'banana', 'cherry'];\n\n// अंत में जोड़ना (O(1))\nfruits.push('orange');\n\n// अंत से हटाना (O(1))\nfruits.pop();\n\n// तत्व खोजना (O(n))\nconst index = fruits.indexOf('banana');\nconsole.log(index); // 1
\n\n

स्टैक (Stack)

\n

स्टैक LIFO (Last In, First Out) सिद्धांत पर काम करता है। यह फ़ंक्शन कॉल को संसाधित करने, क्रियाओं को पूर्ववत (undo) करने या कोड में कोष्ठकों की जाँच करने के लिए एक अपरिहार्य संरचना है।

\n\n
class Stack {\n    constructor() {\n        this.items = [];\n    }\n\n    push(element) {\n        this.items.push(element);\n    }\n\n    pop() {\n        if (this.isEmpty()) return null;\n        return this.items.pop();\n    }\n\n    peek() {\n        return this.items[this.items.length - 1];\n    }\n\n    isEmpty() {\n        return this.items.length === 0;\n    }\n}\n\n// उपयोग का उदाहरण: कोष्ठक जाँच\nconst stack = new Stack();\nconst str = '({[]})';\nlet isValid = true;\n\nfor (let char of str) {\n    if (char === '(' || char === '{' || char === '[') {\n        stack.push(char);\n    } else {\n        const last = stack.pop();\n        if (\n            (char === ')' && last !== '(') ||\n            (char === '}' && last !== '{') ||\n            (char === ']' && last !== '[')\n        ) {\n            isValid = false;\n            break;\n        }\n    }\n}\n\nconsole.log(isValid && stack.isEmpty()); // true
\n\n

क्यू (Queue)

\n

क्यू FIFO (First In, First Out) सिद्धांत पर काम करता है। इसका उपयोग कार्यों को प्रबंधित करने, Node.js पर वेब सर्वर में अनुरोधों को संसाधित करने या बफ़र्स को लागू करने के लिए किया जाता है।

\n\n
class Queue {\n    constructor() {\n        this.items = {};\n        this.front = 0;\n        this.rear = 0;\n    }\n\n    enqueue(element) {\n        this.items[this.rear] = element;\n        this.rear++;\n    }\n\n    dequeue() {\n        if (this.isEmpty()) return null;\n        const item = this.items[this.front];\n        delete this.items[this.front];\n        this.front++;\n        return item;\n    }\n\n    isEmpty() {\n        return this.front === this.rear;\n    }\n\n    size() {\n        return this.rear - this.front;\n    }\n}\n\n// उदाहरण: कार्य प्रसंस्करण\nconst taskQueue = new Queue();\ntaskQueue.enqueue('कार्य 1');\ntaskQueue.enqueue('कार्य 2');\nconsole.log(taskQueue.dequeue()); // कार्य 1
\n\n

जावास्क्रिप्ट में खोज एल्गोरिदम

\n\n

डेटा खोजना सबसे सामान्य कार्यों में से एक है। आइए दो बुनियादी एल्गोरिदम देखें: रैखिक और बाइनरी खोज।

\n\n

रैखिक खोज (Linear Search)

\n

पूरी सूची में से गुज़रता है

ब्लॉग

पुस्तक अनुशंसाएँ