क्या आप बाइनरी एक लिंक्ड सूची खोज सकते हैं?
क्या आप बाइनरी एक लिंक्ड सूची खोज सकते हैं?

वीडियो: क्या आप बाइनरी एक लिंक्ड सूची खोज सकते हैं?

वीडियो: क्या आप बाइनरी एक लिंक्ड सूची खोज सकते हैं?
वीडियो: लिंक्ड सूची में बाइनरी खोज | बाइनरी सर्च एल्गोरिथम पूर्ण विवरण 2024, नवंबर
Anonim

हां, द्विआधारी खोज पर संभव है लिंक की गई सूची अगर NS सूची आदेश दिया गया है और आप में तत्वों की गिनती जानें सूची . लेकिन छँटाई करते समय सूची , आप ऐसा कर सकते हैं एक समय में एक ही तत्व को उस नोड के लिए एक पॉइंटर के माध्यम से एक्सेस करें यानी या तो पिछला नोड या अगला नोड।

बस इतना ही, जब एक लिंक की गई सूची पर बाइनरी खोज लागू की जाती है तो समय जटिलता क्या होगी?

समय जटिलता O(log n) से अधिक नहीं होना चाहिए। जैसा लिंक्ड सूची करता है अगर हम कोशिश करते हैं तो रैंडम एक्सेस प्रदान न करें द्विआधारी खोज लागू करें एल्गोरिथ्म यह मर्जी ओ (एन) तक पहुंचें क्योंकि हमें इसकी आवश्यकता है पाना की लंबाई सूची और बीच में जाओ।

यह भी जानिए, बाइनरी सर्च कैसे लागू किया जाता है? द्विआधारी खोज : खोज बार-बार विभाजित करके एक क्रमबद्ध सरणी खोज आधे में अंतराल। पूरे सरणी को कवर करने वाले अंतराल से शुरू करें। यदि का मान खोज कुंजी अंतराल के बीच में आइटम से कम है, अंतराल को निचले आधे हिस्से तक सीमित करें। अन्यथा इसे ऊपरी आधे हिस्से तक सीमित करें।

उसके बाद, किसी सूची में किसी तत्व को खोजने के लिए बाइनरी खोज किस विधि का उपयोग करती है?

द्विआधारी खोज क्रमबद्ध सरणियों पर काम करता है। द्विआधारी खोज एक की तुलना करके शुरू होता है तत्त्व लक्ष्य के साथ सरणी के बीच में मूल्य . अगर लक्ष्य मूल्य से मेल खाता है तत्त्व , सरणी में इसकी स्थिति लौटा दी जाती है। अगर लक्ष्य मूल्य से कम है तत्त्व , NS खोज सरणी के निचले हिस्से में जारी है।

आप एक लिंक्ड सूची के माध्यम से कैसे पुनरावृति करते हैं?

एक इटरेटर लूप करने के लिए इस्तेमाल किया जा सकता है के माध्यम से एक लिंक्ड सूची . यदि इसमें अधिक तत्व हैं, तो विधि hasNext () सही है लिंक्ड सूची और झूठा अन्यथा। अगली विधि () में अगला तत्व लौटाती है लिंक्ड सूची और यदि कोई अगला तत्व नहीं है तो अपवाद NoSuchElementException फेंकता है।

सिफारिश की: