CS50x 2025 – Lecture 3 – Algorithms
What You Will Learn
- एल्गोरिदम के डिज़ाइन और उनकी दक्षता को समझना
- डेटा को प्रभावी ढंग से खोजने और व्यवस्थित करने के तरीके
- एल्गोरिदम के प्रदर्शन को मापने और उनकी तुलना करने के तरीके
Key Concepts
एल्गोरिदम के डिज़ाइन में दक्षता और सही ढंग से काम करना दोनों महत्वपूर्ण हैं। एक एल्गोरिदम की दक्षता को उसके समय जटिलता और स्थान जटिलता द्वारा मापा जा सकता है। डेटा को व्यवस्थित करने के लिए हमें एल्गोरिदम का चयन करना होता है जो डेटा के आकार और प्रकार के अनुसार उपयुक्त हो। एल्गोरिदम के उदाहरणों में से एक है बाइनरी सर्च, जो डेटा को दो भागों में विभाजित करके और फिर पुनः विभाजित करके डेटा को ढूंढता है।
Code Examples
कोई विशिष्ट कोड स्निपेट नहीं है, लेकिन निम्नलिखित उदाहरण दिए गए हैं:
- “if that phone book had, say, n pages, where n just means number, it was a one-to-one relationship because if you add more pages, you need more steps” - यह एक एल्गोरिदम की समय जटिलता को दर्शाता है।
- “if we double the size of the phone book next year– I proposed maybe Cambridge and Alston here in Massachusetts merging together” - यह डेटा के आकार में वृद्धि के प्रभाव को दर्शाता है।
- “from 2,000 to 1,000, then to 500, then to 250, and so forth pages in the phone book” - यह बाइनरी सर्च एल्गोरिदम के काम करने के तरीके को दर्शाता है।
Lesson Summary
इस पाठ में, हमने एल्गोरिदम के डिज़ाइन और उनकी दक्षता के बारे में सीखा। हमने देखा कि एक एल्गोरिदम की दक्षता को उसके समय जटिलता और स्थान जटिलता द्वारा मापा जा सकता है। हमने बाइनरी सर्च एल्गोरिदम के उदाहरण के माध्यम से देखा कि कैसे डेटा को व्यवस्थित करने और ढूंढने के लिए एल्गोरिदम का चयन करना होता है। हमने यह भी देखा कि डेटा के आकार में वृद्धि के प्रभाव को कैसे मापा जा सकता है और एल्गोरिदम के प्रदर्शन को कैसे मापा जा सकता है। इस पाठ के माध्यम से, हमने एल्गोरिदम के डिज़ाइन और उनकी दक्षता के बारे में एक अच्छी समझ प्राप्त की है।
Practice Exercise
एक फोन बुक की कल्पना करें जिसमें 1000 पेज हैं। यदि आप बाइनरी सर्च एल्गोरिदम का उपयोग करके एक विशिष्ट नाम ढूंढना चाहते हैं, तो आपको कितने चरणों की आवश्यकता होगी? अपने उत्तर की गणना करने के लिए एल्गोरिदम की समय जटिलता का उपयोग करें।
What Is Next
अगले पाठ में, हम डेटा संरचनाओं के बारे में सीखेंगे, जैसे कि लिंक्ड लिस्ट और स्टैक, और देखेंगे कि वे एल्गोरिदम के साथ कैसे काम करते हैं।