1) एवीएल पेड़ और स्प्ले पेड़ों के बीच क्या अंतर है?
वे संरचना और संचालन में समान हैं जो हम उन्हें बुलाते हैं। अंतर यह है कि स्प्ले पेड़ों में, प्रत्येक ऑपरेशन के बाद, हम पेड़ को लगभग पूरी तरह से संतुलित रखने की कोशिश करते हैं ताकि भविष्य के संचालन में कम समय लगे।
2) हम किस आधार पर इन तनावों का चयन करते हैं?
स्प्ले पेड़ बाइनरी खोज पेड़ों की तुलना में हमेशा बेहतर होते हैं, जब आपका एप्लिकेशन पेड़ में बहुत सारे डेटा से संबंधित होता है, लेकिन दूसरों की तुलना में डेटा के सबसेट तक पहुंच की आवश्यकता होगी। इस मामले में आपके द्वारा अक्सर उपयोग किए जाने वाले डेटा को स्प्ले के परिणामस्वरूप रूट के पास आ जाएगा। इसके अलावा, किसी भी नोड को पहले से कम समय के साथ एक्सेस किया जा सकता है।
इन पेड़ों को चुनने के लिए एक सामान्य नियम के रूप में, यदि आपको वृक्ष परिचालन की अवधि में "औसत" लॉग (एन) समय की आवश्यकता है तो स्प्ले पेड़ का उपयोग करें। बाइनरी पेड़ इसकी गारंटी नहीं दे सकता है।
3) इन पेड़ों के सकारात्मक और नकारात्मक क्या हैं?
दोनों के लिए पॉजिटिव यह है कि आप सैद्धांतिक रूप से इन दोनों डेटा संरचनाओं में लॉग (एन) के आसपास मिलता है।
जैसा कि बताया गया है कि स्प्ले पेड़ों में कई परिचालनों पर औसत लॉग (एन) है। इसका मतलब यह है कि, हो सकता है कि आपको उस सेट में कम से कम एक ऑपरेशन के लिए समय की जटिलता मिल जाए। लेकिन लगातार वस्तुओं तक पहुंचने पर इसका मुआवजा दिया जाएगा।
द्विआधारी खोज पेड़ का नकारात्मक यह है कि, आपको लॉग (एन) हमेशा भाग्यशाली होने की आवश्यकता है। यदि चाबियाँ यादृच्छिक नहीं हैं, तो पेड़ केवल एक तरफ के रूप में एक सूची में कम हो जाएगा।
4) बड़े ओ नोटेशन के मामले में इन पेड़ों के प्रदर्शन क्या हैं?
पेड़ संचालन के समूह के लिए औसत पर स्प्ले पेड़ लॉग (एन)। बाइनरी पेड़ लॉग (एन) केवल तभी जब आपकी चाबियाँ यादृच्छिक रूप से चल रही हों।
रनटाइम पर परिणाम यहां स्पष्ट हैं splay tree runtime profiling आप बिना रनिंग के और बिना खोज में रनटाइम अंतर देख सकते हैं।
यहां स्प्ले पेड़ों के बारे में एक अच्छा शिक्षण वीडियो है: https://youtu.be/G5QIXywcJlY आप इस साइट पर उनके साथ भी खेल सकते हैं: https://www.cs.usfca.edu/~galles/visualization /SplayTree.html – user9589