वीडियो: क्या आप बाइनरी एक लिंक्ड सूची खोज सकते हैं?
2024 लेखक: Lynn Donovan | [email protected]. अंतिम बार संशोधित: 2023-12-15 23:47
हां, द्विआधारी खोज पर संभव है लिंक की गई सूची अगर NS सूची आदेश दिया गया है और आप में तत्वों की गिनती जानें सूची . लेकिन छँटाई करते समय सूची , आप ऐसा कर सकते हैं एक समय में एक ही तत्व को उस नोड के लिए एक पॉइंटर के माध्यम से एक्सेस करें यानी या तो पिछला नोड या अगला नोड।
बस इतना ही, जब एक लिंक की गई सूची पर बाइनरी खोज लागू की जाती है तो समय जटिलता क्या होगी?
समय जटिलता O(log n) से अधिक नहीं होना चाहिए। जैसा लिंक्ड सूची करता है अगर हम कोशिश करते हैं तो रैंडम एक्सेस प्रदान न करें द्विआधारी खोज लागू करें एल्गोरिथ्म यह मर्जी ओ (एन) तक पहुंचें क्योंकि हमें इसकी आवश्यकता है पाना की लंबाई सूची और बीच में जाओ।
यह भी जानिए, बाइनरी सर्च कैसे लागू किया जाता है? द्विआधारी खोज : खोज बार-बार विभाजित करके एक क्रमबद्ध सरणी खोज आधे में अंतराल। पूरे सरणी को कवर करने वाले अंतराल से शुरू करें। यदि का मान खोज कुंजी अंतराल के बीच में आइटम से कम है, अंतराल को निचले आधे हिस्से तक सीमित करें। अन्यथा इसे ऊपरी आधे हिस्से तक सीमित करें।
उसके बाद, किसी सूची में किसी तत्व को खोजने के लिए बाइनरी खोज किस विधि का उपयोग करती है?
द्विआधारी खोज क्रमबद्ध सरणियों पर काम करता है। द्विआधारी खोज एक की तुलना करके शुरू होता है तत्त्व लक्ष्य के साथ सरणी के बीच में मूल्य . अगर लक्ष्य मूल्य से मेल खाता है तत्त्व , सरणी में इसकी स्थिति लौटा दी जाती है। अगर लक्ष्य मूल्य से कम है तत्त्व , NS खोज सरणी के निचले हिस्से में जारी है।
आप एक लिंक्ड सूची के माध्यम से कैसे पुनरावृति करते हैं?
एक इटरेटर लूप करने के लिए इस्तेमाल किया जा सकता है के माध्यम से एक लिंक्ड सूची . यदि इसमें अधिक तत्व हैं, तो विधि hasNext () सही है लिंक्ड सूची और झूठा अन्यथा। अगली विधि () में अगला तत्व लौटाती है लिंक्ड सूची और यदि कोई अगला तत्व नहीं है तो अपवाद NoSuchElementException फेंकता है।
सिफारिश की:
एक डबल लिंक्ड सूची डीएलएल एकल लिंक्ड सूची एसएलएल से तुलना कैसे करता है)?
डबल लिंक्ड लिस्ट का परिचय: एक डबल लिंक्ड लिस्ट (DLL) में एक अतिरिक्त पॉइंटर होता है, जिसे आमतौर पर पिछला पॉइंटर कहा जाता है, साथ में अगला पॉइंटर और डेटा जो सिंगल लिंक्ड लिस्ट में होता है। SLL में केवल एक डेटा फ़ील्ड और अगले लिंक फ़ील्ड के साथ नोड होते हैं। डीएलएल में एसएलएल की तुलना में अधिक मेमोरी होती है क्योंकि इसमें 3 फ़ील्ड होते हैं
आप बाइनरी खोज के मध्य को कैसे ढूंढते हैं?
एक क्रमबद्ध सरणी को देखते हुए, हम सबसे मध्य तत्व ढूंढते हैं और कुंजी के साथ तत्व की जांच करते हैं। यदि मध्य-सबसे तत्व कुंजी के बराबर है, तो हमें कुंजी मिल गई है। यदि मध्य-सबसे तत्व कुंजी से बड़ा है, तो हम मध्य-सबसे तत्व के बाएं आधे हिस्से को खोजते हैं, अन्यथा हम दाहिने आधे हिस्से को खोजते हैं
क्या बाइनरी खोज रिकर्सन करता है?
बाइनरी सर्च एक डिवाइड एंड कॉनकॉर एल्गोरिथम है। सभी विभाजित और जीत एल्गोरिदम की तरह, बाइनरी सर्च पहले एक बड़े सरणी को दो छोटे उप-सरणी में विभाजित करता है और फिर उप-सरणी को पुनरावर्ती रूप से (या पुनरावृत्त रूप से) संचालित करता है। तो बाइनरी सर्च मूल रूप से प्रत्येक चरण में खोज स्थान को आधा कर देता है
आप सर्कुलर लिंक्ड सूची को कैसे हटाते हैं?
सर्कुलर लिंक्ड लिस्ट से डिलीट अगर लिस्ट खाली नहीं है तो हम दो पॉइंटर्स कर्व और प्रीव को परिभाषित करते हैं और हेड नोड के साथ पॉइंटर कर्व को इनिशियलाइज़ करते हैं। हटाए जाने वाले नोड को खोजने के लिए curr का उपयोग करके सूची को पार करें और curr को अगले नोड पर ले जाने से पहले, हर बार prev = curr. यदि नोड पाया जाता है, तो जांचें कि क्या यह सूची में एकमात्र नोड है
डबल लिंक्ड लिस्ट और सर्कुलर लिंक्ड लिस्ट में क्या अंतर है?
एक सर्कुलर लिंक्ड लिस्ट वह है जहां नोस्टार्ट या एंड नोड्स होते हैं, लेकिन इसके बजाय वे एक सर्कुलर पैटर्न का पालन करते हैं। एक डबल-लिंक्ड सूची वह है जहां प्रत्येक नोड न केवल अगले नोड को बल्कि पिछले नोड को भी इंगित करता है