यह कठिन नहीं है।
डबल लिंक की गई सूचियों के साथ, जब आप सम्मिलित करते हैं, तो आपको मेमोरी आवंटित की जाएगी, और फिर आप या तो सिर या पिछले नोड के साथ लिंक कर रहे होंगे, और पूंछ या अगले नोड के साथ। जब आप हटाते हैं, तो आप बिल्कुल उसी से अनलिंक हो रहे होंगे, और फिर मेमोरी खाली कर देंगे। ये सभी ऑपरेशन सममित हैं।
यह मानता है कि दोनों मामलों में आपके पास डालने / हटाने के लिए नोड है। (और प्रविष्टि के मामले में, कि आपके पास पहले डालने के लिए नोड भी है, इसलिए एक तरह से प्रविष्टि को थोड़ा और अधिक जटिल माना जा सकता है।) यदि आप हटाने के लिए नोड नहीं होने की कोशिश कर रहे हैं, लेकिन पेलोड नोड के बाद, निश्चित रूप से आपको पहले पेलोड के लिए सूची खोजना होगा, लेकिन यह विलोपन में कमी नहीं है, क्या यह है?
संतुलित पेड़ों के साथ, वही लागू होता है: एक पेड़ को आम तौर पर एक सम्मिलन के तुरंत बाद और एक विलोपन के तुरंत बाद संतुलन की आवश्यकता होती है। यह कोशिश करना एक अच्छा विचार है और केवल एक संतुलन दिनचर्या है, और प्रत्येक ऑपरेशन के बाद इसे लागू करें, चाहे वह सम्मिलन या विलोपन हो। यदि आप एक सम्मिलन को लागू करने की कोशिश कर रहे हैं जो हमेशा पेड़ को संतुलित करता है, और एक विलोपन भी जो हमेशा पेड़ को संतुलित करता है, तो दोनों एक ही संतुलन दिनचर्या को साझा किए बिना, आप अनावश्यक रूप से अपने जीवन को जटिल बना रहे हैं।
संक्षेप में, कोई कारण नहीं है कि किसी को दूसरे की तुलना में कठिन होना चाहिए, और यदि आप पा रहे हैं कि यह है, तो यह वास्तव में संभव है कि आप (बहुत ही मानवीय) प्रवृत्ति के शिकार हों, ऐसा सोचना स्वाभाविक है। रचनात्मक रूप से घटाकर, जिसका अर्थ है कि आप एक तरह से विलोपन को लागू कर सकते हैं जो कि होने की तुलना में अधिक जटिल है। लेकिन यह एक मानवीय मुद्दा है। गणितीय दृष्टिकोण से, कोई मुद्दा नहीं है।
pop
मेंextract-min
?