स्प्ले ट्री (Splay Tree) को एक सेल्फ-बैलेंसिंग बाइनरी सर्च ट्री (Self-balancing Binary Search Tree) के रूप में परिभाषित किया जाता है जिसमें अतिरिक्त गुण होता है कि हाल ही में एक्सेस किए गए एलिमेंट्स को फिर से एक्सेस करना त्वरित होता है। बेसिक ऑपरेशन्स जैसे सम्मिलन (Insertion), लुक-अप (Look-up) और निष्कासन (Removal) स्प्ले ट्री द्वारा O(log n) परिशोधित समय (Amortized Time) में किए जाते हैं। कई गैर-यादृच्छिक ऑपरेशन सीक्वेंस (Non-random Operation Sequences) के लिए, स्प्ले ट्रीज़ अन्य सर्च ट्रीज़ से बेहतर काम करते हैं, तब भी जब सीक्वेंस का विशिष्ट पैटर्न ज्ञात न हो। बाइनरी सर्च ट्री पर सभी सामान्य ऑपरेशन्स एक बेसिक ऑपरेशन के साथ जुड़े होते हैं, जिसे स्प्लेिंग (Splaying) कहा जाता है।
आइए मान लें कि प्रत्येक नोड a के लिए, हम एक वास्तविक संख्या key(a) स्टोर करते हैं।
किसी भी बाइनरी सर्च ट्री में किसी भी नोड a का लेफ्ट सबट्री उन आइटम्स को समाहित करता है जिनके "की" मान key(a) के मान से छोटे होते हैं और नोड a का राइट सबट्री उन आइटम्स को समाहित करता है जिनके "की" मान key(a) के मान से अधिक होते हैं।
स्प्ले ट्रीज़ में, हम पहले क्वेरी आइटम को खोजते हैं, मान लीजिए a सामान्य बाइनरी सर्च ट्रीज़ की तरह— क्वेरी आइटम की तुलना रूट में मान से करें, यदि कम है तो लेफ्ट सबट्री में पुनरावर्ती खोज करें, अन्यथा यदि अधिक है तो राइट सबट्री में पुनरावर्ती खोज करें, और यदि बराबर है तो हम हो गए। फिर, अनौपचारिक रूप से बोलते हुए, हम a के हर डिसजॉइंट जोड़े क्रमागत पूर्वजों (Disjoint Pairs of Consecutive Ancestors) को देखते हैं, मान लीजिए b = parent(a) और c = parent(b), और रोटेशन के कुछ जोड़े पूरे करते हैं। इन रोटेशन के परिणामस्वरूप, a, c के स्थान पर आ जाता है।
यदि a के विषम संख्या में उचित पूर्वज (Odd Number of Proper Ancestors) हैं, तो a का पूर्वज (जो रूट का बच्चा है), को अलग तरीके से टर्मिनल केस में निपटाया जाएगा— हम a और रूट के बीच के एज को रोटेट करते हैं। इस चरण को जिग स्टेप (Zig Step) कहा जाता है।
यदि a और b दोनों अपने संबंधित पैरेंट के लेफ्ट चाइल्ड हैं या दोनों राइट चाइल्ड हैं, तो हम पहले b और उसके पैरेंट c के बीच के एज को रोटेट करते हैं और फिर a और उसके पैरेंट b के बीच के एज को रोटेट करते हैं। इस चरण को जिग-जिग स्टेप (Zig-Zig Step) कहा जाता है।
यदि a लेफ्ट (क्रमशः राइट) चाइल्ड है और b राइट (क्रमशः लेफ्ट) चाइल्ड है, तो हम पहले a और b के बीच के एज को रोटेट करते हैं और फिर a और c के बीच, इस चरण को जिग-जैग स्टेप (Zig-Zag Step) कहा जाता है।