স্প্লে ট্রি হলো একটি সেলফ-ব্যালেন্সিং বাইনারি সার্চ ট্রি যাতে এক্সট্রা প্রোপার্টি থাকে که সম্প্রতি অ্যাক্সেস করা এলিমেন্টগুলো আবার দ্রুত অ্যাক্সেস করা যায়। বেসিক অপারেশন যেন ইনসার্শন, লুক-আপ এবং রিমูভাল স্প্লে ট্রি দ্বারা O(log n) এমরটাইজড টাইমে পারফর্ম করা হয়। অনেক নন-র্যান্ডম অপারেশনের সিকোয়েন্সের জন্য, স্প্লে ট্রি অন্যান্য সার্চ ট্রির চেয়ে ভালো কাজ করে, এমনকি যখন সিকোয়েন্সের স্পেসিফিক প্যাটার্ন জানা নাও থাকে। একটি বাইনারি সার্চ ট্রির সকল নরমাল অপারেশন এক বেসিক অপারেশনের সাথে জয়েন করা হয়, যাকে স্প্লেিং বলা হয়।
ধরা যাক প্রতিটি নোড a-র জন্য, আমরা একটি রিয়াল নাম্বার key(a) স্টোর করি।
যেকোনো বাইনারি সার্চ ট্রিতে লেফট সাবট্রি যেকোনো নোড a-র ছোট "key" ভ্যালু বিশিষ্ট আইটেম ধারণ করে key(a) এর ভ্যালু চেয়ে এবং রাইট সাবট্রি নোড a-র বেশি "key" ভ্যালু বিশিষ্ট আইটেম ধারণ করে key(a) এর ভ্যালু চেয়ে।
স্প্লে ট্রিতে, আমরা প্রথম কোয়েরি আইটেম সার্চ করি, বলুন a সাদারন বাইনারি সার্চ ট্রির মতো— কোয়েরি আইটেম কমপেয়ার করি রুটের ভ্যালুসহ, যদি কম হয় তবে রিকার্সিভলি লেফট সাবট্রিতে সার্চ করি অন্যথায় যদি বেশি হয় তবে রিকার্সিভলি রাইট সাবট্রিতে সার্চ করি, এবং যদি সমান হয় তবে আমরা ডান। তারপর, অনৌপচারিকভাবে বললে, আমরা প্রতিটি ডিজয়েন্ট পেয়ার অফ কনসেকিউটিভ অ্যানসেস্টর a-র तरफ তাকাই, বলুন b =parent(a) এবং c =parent(b), এবং কিছু পেয়ার রোটেশন সম্পন্ন করি। এই রোটেশনগুলোর ফলাফলে a c-র জায়গায় আসে।
যদি a-র অড নম্বর প্রপার অ্যানসেস্টর থাকে, তবে a-র অ্যানসেস্টর (যেটি রুটের চাইল্ড), সেটিকেও আলাদা ভাবে ডিল করতে হয়, টার্মিনেল কেসে— আমরা a এবং রুটের মধ্যে এজ রোটেট করি। এই স্টেপকে জিগ স্টেপ (zig step) বলা হয়।
যদি a এবং b উভয় লেফট অথবা উভয় রাইট চাইল্ড হয় তাদের রেসপেক্টিভ প্যারেন্টের, তবে আমরা প্রথমে b এবং এর প্যারেন্ট c-এর মধ্যে এজ রোটেট করি এবং তারপর a এবং এর প্যারেন্ট b-এর মধ্যে এজ রোটেট করি। এই স্টেপকে জিগ-জিগ স্টেপ (zig-zig step) বলা হয়।
যদি a একটি লেফট (রেসপেক্টিভলি রাইট) চাইল্ড হয় এবং b একটি রাইট (রেসপেক্টিভলি লেফট) চাইল্ড হয়, তবে আমরা প্রথমে a এবং b-এর মধ্যে এজ রোটেট করি এবং তারপর a এবং c-এর মধ্যে, এই স্টেপকে জিগ-জ্যাগ স্টেপ (zig-zag step) বলা হয়।