PHP में एल्गोरिदम और डेटा संरचनाएँ: शुरुआती लोगों के लिए पूर्ण गाइड

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

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

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

PHP में एल्गोरिदम और डेटा संरचनाएँ: शुरुआती कहाँ से शुरू करें

\n\n

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

\n\n

PHP में डेटा संरचनाएँ क्यों महत्वपूर्ण हैं?

\n\n

PHP एक डायनामिक टाइपिंग वाली भाषा है, और इसका बिल्ट-इन ऐरे (array) वास्तव में एक हाइब्रिड है: यह एक लिस्ट और एक डिक्शनरी (हैश टेबल) दोनों के रूप में काम कर सकता है। यह शक्तिशाली है, लेकिन अंतर्निहित संरचनाओं की समझ के बिना, आप गैर-इष्टतम कोड लिखने का जोखिम उठाते हैं। उदाहरण के लिए, 10,000 रिकॉर्ड वाले एक अनसॉर्टेड ऐरे में किसी तत्व की खोज करने में हैश टेबल में खोज करने की तुलना में 100 गुना अधिक समय लग सकता है।

\n\n

हम जिन मुख्य संरचनाओं पर चर्चा करेंगे:

\n
    \n
  • ऐरे — सबसे बुनियादी, लेकिन बारीकियों के साथ।
  • \n
  • स्टैक और क्यू — प्रसंस्करण के एक निश्चित क्रम वाले कार्यों के लिए।
  • \n
  • लिंक्ड लिस्ट — डायनामिक मेमोरी प्रबंधन के लिए।
  • \n
  • हैश टेबल — कुंजी द्वारा त्वरित पहुँच के लिए।
  • \n
\n\n

1. ऐरे और उनके साथ काम करना: सरल से जटिल तक

\n\n

PHP में, ऐरे एक क्रमबद्ध मैपिंग है जो कुंजियों को मानों से जोड़ता है। लेकिन इस सार्वभौमिक संरचना के साथ भी विभिन्न तरीकों से काम किया जा सकता है।

\n\n

इंडेक्स्ड और एसोसिएटिव ऐरे

\n

इंडेक्स्ड ऐरे पूर्णांक कुंजियों का उपयोग करता है, जबकि एसोसिएटिव ऐरे स्ट्रिंग कुंजियों का उपयोग करता है। उदाहरण:

\n\n
<?php\n// इंडेक्स्ड ऐरे\n$fruits = ["apple", "banana", "cherry"];\necho $fruits[1]; // banana\n\n// एसोसिएटिव ऐरे (हैश टेबल)\n$user = [\n    "name" => "Alice",\n    "age" => 30,\n    "city" => "Moscow"\n];\necho $user["name"]; // Alice\n?>
\n\n

ऐरे के साथ संचालन

\n

जोड़ना, हटाना और खोजना बुनियादी संचालन हैं। उनकी समय जटिलता जानना महत्वपूर्ण है:

\n
    \n
  • array_push() / $arr[] = $val — औसतन O(1)।
  • \n
  • array_pop() — O(1)।
  • \n
  • array_shift() — O(n), क्योंकि यह सभी तत्वों को पुनः अनुक्रमित करता है।
  • \n
  • in_array() — अनसॉर्टेड ऐरे के लिए O(n)।
  • \n
  • isset($arr[$key]) — एसोसिएटिव ऐरे के लिए O(1)।
  • \n
\n\n

शब्द आवृत्ति गिनने के लिए एसोसिएटिव ऐरे के कुशल उपयोग का उदाहरण:

\n\n
<?php\n$text = "apple banana apple cherry banana apple";\n$words = explode(" ", $text);\n$freq = [];\n\nforeach ($words as $word) {\n    if (isset($freq[$word])) {\n        $freq[$word]++;\n    } else {\n        $freq[$word] = 1;\n    }\n}\n\nprint_r($freq);\n// Array ( [apple] => 3 [banana] => 2 [cherry] => 1 )\n?>
\n\n

2. स्टैक और क्यू: PHP में LIFO और FIFO सिद्धांत

\n\n

स्टैक (Last In, First Out) और क्यू (First In, First Out) क्लासिक संरचनाएँ हैं जिन्हें PHP में ऐरे का उपयोग करके आसानी से लागू किया जा सकता है।

\n\n

स्टैक का कार्यान्वयन

\n

स्टैक का उपयोग, उदाहरण के लिए, कोष्ठकों की जोड़ी की जाँच करने या क्रियाओं को पूर्ववत (undo) करने के लिए किया जाता है।

\n\n
<?php\nclass Stack {\n    private array $items = [];\n\n    public function push($item): void {\n        $this->items[] = $item; // O(1)\n    }\n\n    public function pop() {\n        return array_pop($this->items); // O(1)\n    }\n\n    public function peek() {\n        return end($this->items); // O(1)\n    }\n\n    public function isEmpty(): bool {\n        return empty($this->items);\n    }\n}\n\n// उदाहरण: कोष्ठक संतुलन की जाँच\nfunction isBalanced(string $expr): bool {\n    $stack = new Stack();\n    $pairs = [')                

ब्लॉग

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