रैखिक खोज बनाम बाइनरी खोज
विषय
- सामग्री: रैखिक खोज और बाइनरी खोज के बीच अंतर
- तुलना चार्ट
- द्विआधारी खोज
- मुख्य अंतर
- निष्कर्ष
- व्याख्यात्मक वीडियो
रैखिक खोज और एक द्विआधारी खोज के बीच का अंतर यह है कि रैखिक खोज में प्रत्येक तत्व की जांच की जाती है और तुलना की जाती है और फिर क्रमबद्ध किया जाता है जबकि द्विआधारी खोज में एक सूची जिसे छांटना होता है उसे दो भागों में विभाजित किया जाता है और फिर क्रमबद्ध किया जाता है। कंप्यूटर प्रोग्रामिंग में खोज और छंटाई दो मुख्य अवधारणाएँ हैं। कई एल्गोरिदम का उपयोग खोज और सॉर्टिंग के लिए किया जाता है, लेकिन खोज और सॉर्टिंग के लिए दो सबसे अधिक उपयोग किए जाने वाले एल्गोरिदम रैखिक खोज और द्विआधारी खोज हैं।
रैखिक खोज और एक द्विआधारी खोज के बीच का अंतर दोनों एल्गोरिदम की कार्य और दक्षता है। रैखिक खोज एल्गोरिथ्म की तुलना में बाइनरी खोज बहुत अधिक कुशल एल्गोरिदम है। रैखिक खोज की तुलना में बाइनरी खोज में छंटाई से पहले प्रत्येक मान की तुलना करने के लिए पुनरावृत्ति या समय।
रैखिक खोज एक बहुत ही जटिल एल्गोरिथ्म है यदि आप किसी सूची में संख्या की खोज करना चाहते हैं, तो कभी-कभी सूची में मानों की संख्या की तुलना करें और पुनरावृति करें। सूची के एक-एक तत्व को पुनः प्राप्त किया जाता है और आसन्न तत्व के साथ तुलना की जाती है। सभी तत्वों को एक्सेस किया जाता है और जांच की जाती है और फिर सही तत्व पाया जाता है। सबसे खराब स्थिति हो सकती है यदि सूची में अंतिम संख्या वह संख्या है जिसे खोजा जाना है। रैखिक खोज वह विधि है जिसके द्वारा सरणी का पता लगाया जाता है और खोजे जाने वाले तत्व की स्थापना की जाती है। अगर हम दक्षता के बारे में बात करते हैं, तो दक्षता संख्या को खोजने के लिए प्रोग्राम को चलाने की संख्या है। यदि हमें वह संख्या मिल जाती है जिसे हम पहली स्थिति में खोज रहे हैं तो केवल एक तुलना करनी पड़ती है, और चीजों को क्रमबद्ध किया जाता है, लेकिन यदि नहीं तो तुलनाओं को बार-बार करना पड़ता है, और स्मृति बर्बाद हो जाती है। औसतन, तुलनाओं की संख्या होगी (n + 1/2)। और इस तकनीक की सबसे खराब स्थिति O (n) है जो निष्पादन के क्रम के लिए है।
रैखिक खोज की तुलना में, द्विआधारी खोज बहुत कुशल है। इस पद्धति में, सरणी को दो-भाग में विभाजित किया गया है और इस तरह से द्विआधारी खोज की तुलना में तुलना की संख्या बहुत कम है। रैखिक खोज की तुलना में बाइनरी खोज में समय भी कम है। बाइनरी खोज उस तरह से काम करती है जैसे कि एरे का मध्य तत्व पाया जाता है और फिर एरे के एक हिस्से के साथ मध्य तत्व की तुलना की जाती है। तीन संभावनाएं हो सकती हैं जो मध्य संख्या है वह संख्या हो सकती है जिसे हमें खोजने की आवश्यकता है या वह संख्या जो मध्य संख्या से कम है या वह संख्या जो मध्य संख्या के मध्य से अधिक है। तुलना की संख्या सबसे अधिक लॉग (एन + 1) पर है। रैखिक खोज की तुलना में बाइनरी खोज रैखिक खोज की तुलना में एक कुशल एल्गोरिदम है, लेकिन बाइनरी खोज करने से पहले सरणी को क्रमबद्ध करना पड़ता है।
सामग्री: रैखिक खोज और बाइनरी खोज के बीच अंतर
- तुलना चार्ट
- द्विआधारी खोज
- मुख्य अंतर
- निष्कर्ष
- व्याख्यात्मक वीडियो
तुलना चार्ट
आधार | रैखिक खोज | द्विआधारी खोज |
अर्थ | रैखिक खोज प्रत्येक तत्व की जाँच की जाती है और तुलना की जाती है और फिर छांट दी जाती है | बाइनरी खोज एक सूची जिसे छांटना है उसे दो भागों में विभाजित किया जाता है और फिर छांटा जाता है।
|
समय जटिलता | रैखिक खोज की समय जटिलता O (N) है। | बाइनरी खोज की समय जटिलता हे (लॉग है 2 एन) |
एल्गोरिदम का प्रकार | रैखिक खोज पुनरावृत्त है। | बाइनरी खोज डिवाइड और विजय है। |
कोड की लाइन | एक रेखीय खोज में, हमें अधिक कोड लिखने की आवश्यकता है। | एक द्विआधारी खोज में, हमें कम कोड लिखने की आवश्यकता है। |
रैखिक खोज
रैखिक खोज एक बहुत ही जटिल एल्गोरिथ्म है यदि आप किसी सूची में संख्या की खोज करना चाहते हैं, तो सूची में मूल्यों की संख्या की तुलना में कुछ बार तुलना और पुनरावृति करें। सूची के एक-एक तत्व को पुनः प्राप्त किया जाता है और आसन्न तत्व के साथ तुलना की जाती है। सभी तत्वों तक पहुंच और जांच की जाती है, और फिर सही तत्व पाया जाता है। सबसे खराब स्थिति हो सकती है यदि सूची में अंतिम संख्या वह संख्या है जिसे खोजा जाना है। रैखिक खोज वह विधि है जिसके द्वारा सरणी का पता लगाया जाता है और खोजे जाने वाले तत्व की स्थापना की जाती है। अगर हम दक्षता के बारे में बात करते हैं, तो दक्षता संख्या को खोजने के लिए प्रोग्राम को चलाने की संख्या है। यदि हमें वह संख्या मिल जाती है जिसे हम पहली स्थिति में खोज रहे हैं तो केवल एक तुलना करनी पड़ती है, और चीजों को क्रमबद्ध किया जाता है, लेकिन यदि नहीं तो तुलनाओं को बार-बार करना पड़ता है, और स्मृति बर्बाद हो जाती है। औसतन, तुलनाओं की संख्या होगी (n + 1/2)। और इस तकनीक का सबसे खराब मामला है ओ (एन) निष्पादन के आदेश के लिए खड़ा है।
द्विआधारी खोज
रैखिक खोज की तुलना में, द्विआधारी खोज बहुत कुशल है। इस विधि में, सरणी को दो भाग में विभाजित किया गया है और इस तरह से द्विआधारी खोज की तुलना में तुलना की संख्या बहुत कम है। रैखिक खोज की तुलना में बाइनरी खोज में समय भी कम है। बाइनरी खोज उस तरह से काम करती है जैसे कि सरणी का मध्य तत्व पाया जाता है और फिर मध्य तत्व की तुलना सरणी के एक भाग के साथ की जाती है।
तीन संभावनाएं हो सकती हैं जो मध्य संख्या है वह संख्या हो सकती है जिसे हमें खोजने की आवश्यकता है या वह संख्या जो मध्य संख्या से कम है या वह संख्या जो मध्य संख्या के मध्य से अधिक है। तुलना की संख्या सबसे अधिक लॉग (एन + 1) पर है। रैखिक खोज की तुलना में बाइनरी खोज रैखिक खोज की तुलना में एक कुशल एल्गोरिदम है, लेकिन बाइनरी खोज करने से पहले सरणी को क्रमबद्ध करना पड़ता है।
मुख्य अंतर
- रेखीय खोज प्रत्येक तत्व की जाँच की जाती है और तुलना की जाती है और फिर क्रमबद्ध किया जाता है जबकि बाइनरी खोज एक सूची जिसे छांटना है उसे दो भागों में विभाजित किया जाता है और फिर क्रमबद्ध किया जाता है।
- रैखिक खोज की समय जटिलता 0 (N) है जबकि बाइनरी खोज की समय जटिलता O (लॉग) है2एन)।
- रैखिक खोज पुनरावृत्त है, जबकि द्विआधारी खोज विभाजन और जीत है।
- रैखिक खोज में, हमें अधिक कोड लिखने की आवश्यकता होती है जबकि बाइनरी खोज में हमें कम कोड लिखने की आवश्यकता होती है।
निष्कर्ष
ऊपर इस लेख में हम रैखिक खोज और बाइनरी खोज के बीच स्पष्ट अंतर देखते हैं।