मुझे लगता है कि मुझे जवाब पता है और न्यूनतम जटिलता ओ (nlogn) है।ओ (एन) समय में एक बीएसटी में एक ढेर को परिवर्तित करना?
लेकिन क्या कोई तरीका है कि मैं ओ (एन) जटिलता में एक ढेर से बाइनरी खोज पेड़ बना सकता हूं?
मुझे लगता है कि मुझे जवाब पता है और न्यूनतम जटिलता ओ (nlogn) है।ओ (एन) समय में एक बीएसटी में एक ढेर को परिवर्तित करना?
लेकिन क्या कोई तरीका है कि मैं ओ (एन) जटिलता में एक ढेर से बाइनरी खोज पेड़ बना सकता हूं?
ओ (एन) समय में एक ढेर से बीएसटी बनाने के लिए कोई एल्गोरिदम नहीं है। इसका कारण यह है कि एन तत्व दिए गए हैं, आप ओ (एन) समय में उनमें से एक ढेर बना सकते हैं। यदि आपके पास मूल्यों के सेट के लिए बीएसटी है, तो आप इन्हें ओ (एन) समय में एक इनऑर्डर ट्रैवर्सल करके सॉर्ट कर सकते हैं। आप हे (एन) समय में एक ढेर से एक BST बना सकते हैं, तो आप तो एक हे (एन) द्वारा
इसलिए, यह हे (एन) के समय में एक BST करने के लिए एक ढेर कन्वर्ट करने के लिए (या ओ में (एन लॉग इन करें n) समय है, जहां ओ little-o notation है) संभव नहीं है।
हालांकि, बीएसटी से अधिकतम मूल्य को बार-बार हटाकर और पेड़ में सही नोड के रूप में डालने के द्वारा ओ (एन लॉग एन) समय में एक ढेर से बीएसटी बनाना संभव है। (आपको तेजी से पहुंच के लिए वहां एक पॉइंटर स्टोर करना होगा; बस रूट पर डालने से ओ (एन) समय लगेगा।)
आशा है कि इससे मदद मिलती है!
+1; विरोधाभास द्वारा अच्छा कमी प्रमाण –
धन्यवाद! इससे मुझे बहुत मदद मिली! – user1940350
धन्यवाद! मुझे भी मदद की :) – cnmesr
ओ (एन) में हेप से बीएसटी बनाते हैं तो ओ (nlogn) अधिक कुशल है। – user1940350
ओह, मेरी गलती, क्षमा करें। – hd1