Wikipedia के हवाले से पिछले तत्व:ढूँढना एक द्विआधारी ढेर
यह पूरी तरह से एक द्विआधारी ढेर लागू करने के लिए एक पारंपरिक द्विआधारी पेड़ डेटा संरचना उपयोग करने के लिए स्वीकार्य है। वहाँ जब एक तत्व जो संकल्प लिया एल्गोरिदम रूप हो सकता है जोड़ने द्विआधारी ढेर पर पिछले स्तर पर आसन्न तत्व की खोज के साथ कोई समस्या ...
पर कैसे इस तरह के एक कोई भी विचार है एल्गोरिदम काम कर सकता है?
मुझे इस मुद्दे के बारे में कोई जानकारी नहीं मिली, क्योंकि ज्यादातर द्विआधारी ढेर एरे का उपयोग करके लागू किए जाते हैं।
किसी भी मदद की सराहना की।
हाल ही में, मैं एक OpenID खाता पंजीकृत है और मेरी प्रारंभिक पोस्ट को संपादित और न ही उत्तर टिप्पणी करने में सक्षम नहीं कर रहा हूँ है। यही कारण है कि मैं इस जवाब के माध्यम से जवाब दे रहा हूँ। इसके लिए क्षमा करें।
के हवाले से मिच गेहूं:
@Yse: यदि आपका प्रश्न "मैं एक द्विआधारी ढेर के अंतिम तत्व मिल रहा है"?
हाँ, यह है। या अधिक सटीक होने के लिए, मेरा प्रश्न है: "मैं गैर-सरणी-आधारित बाइनरी ढेर का अंतिम तत्व कैसे प्राप्त करूं?"।
Suppressingfire उद्धृत:
वहाँ कुछ संदर्भ में जो आप इस सवाल पूछ रहे है?
जैसा कि ऊपर कहा, (यानी, वहाँ कुछ ठोस समस्या आप की कोशिश कर रहे हल है?) मैं "एक गैर सरणी-आधारित द्विआधारी के अंतिम तत्व को खोजने के लिए एक अच्छा तरीका जानना चाहते हैं ढेर "जो नोड्स के सम्मिलन और हटाने के लिए आवश्यक है।
रॉय उद्धृत:
यह लिए मेरे लिए सबसे समझा जा रहा है सिर्फ एक सामान्य द्विआधारी पेड़ संरचना और (एक pRoot और नोड [डेटा, pLeftChild, pRightChild] के रूप में परिभाषित का प्रयोग करके) का उपयोग दो अतिरिक्त पॉइंटर्स जोड़ें (pInsertionNode और pLastNode)। PInsertionNode और पीएलएस्टएनोड दोनों को के दौरान सम्मिलन और विलोपन सबराउटिन के दौरान अपडेट किया जाएगा ताकि उन्हें डेटा चालू किया जा सके जब संरचना संरचना परिवर्तनों के भीतर हो।यह ओ (1) दोनों प्रविष्टि बिंदु और संरचना के अंतिम नोड तक पहुंच प्रदान करता है।
हां, यह काम करना चाहिए। अगर मुझे गलत नहीं लगता है, तो प्रविष्टि नोड और अंतिम नोड को ढूंढना थोड़ा मुश्किल हो सकता है, जब उनके स्थान किसी विलोपन/सम्मिलन के कारण किसी अन्य उप-में बदल जाते हैं। लेकिन मैं इसे आज़मा दूंगा।
ज़ैक Scrivena उद्धृत:
कैसे गहराई-प्रथम खोज करने के बारे में ...
हाँ, यह एक अच्छा दृष्टिकोण होगा। मैं भी कोशिश करूँगा।
फिर भी मैं सोच रहा हूं, अगर अंतिम नोड और सम्मिलन बिंदु के स्थानों की "गणना" करने का कोई तरीका है। एन नोड्स के साथ एक बाइनरी ढेर की ऊंचाई को एन की तुलना में दो की छोटी शक्ति की लॉग (आधार 2) लेने के द्वारा गणना की जा सकती है। शायद गहरे स्तर पर नोड्स की संख्या की गणना करना संभव है। तो संभवतः यह निर्धारित करना संभव था कि कैसे ढेर को प्रविष्टि बिंदु या हटाने के लिए नोड तक पहुंचने के लिए पार किया जाना चाहिए।
@Yse: क्या आपका प्रश्न है "मुझे बाइनरी ढेर का अंतिम तत्व कैसे मिल सकता है"? –
2 ढेर का उपयोग करें, या (बदतर क्योंकि ओ (1) अवतार डालने) एक बाइनरी ढेर खो देता है और सबसे बड़ा और सबसे छोटा ट्रैक ट्रैक करता है: http://stackoverflow.com/questions/7878622/can-we-use-binary-search -ट्री-टू-सिमुलेट-हीप-ऑपरेशन –