दिए गए फॉरेस्ट (Forest) के लिए, हम दिए गए कुछ एज को "डैश्ड" (Dashed) बनाते हैं और बाकी को सॉलिड (Solid) रखते हैं। प्रत्येक नॉन-लीफ नोड (Non-leaf Node) अपने बच्चों में से केवल एक से "सॉलिड" एज से जुड़ा होता है। अन्य सभी बच्चे डैश्ड एज की मदद से जुड़े होते हैं।
इसे और ठोस बनाने के लिए, किसी भी दिए गए ट्री में, राइट-मोस्ट लिंक (Right-most Link) (अपने चाइल्ड के लिए) को सॉलिड रखा जाना चाहिए, और इसके अन्य बच्चों के लिंक को "डैश्ड" बनाया जाता है।
परिणामस्वरूप, ट्री सॉलिड पथ (Solid Paths) के संग्रह में टूट जाता है। सॉलिड पथ की जड़ें (Roots) किसी अन्य सॉलिड पथ से डैश्ड एज द्वारा जुड़ी होती हैं। एक नया डेटा स्ट्रक्चर जिसे "वर्चुअल ट्री" (Virtual Tree) कहा जाता है, बनाया जाता है। प्रत्येक लिंकिंग और कटिंग ट्री T को एक वर्चुअल ट्री V द्वारा दर्शाया जाता है, जिसमें नोड्स का समान सेट होता है। लेकिन मूल ट्री के प्रत्येक सॉलिड पथ को वर्चुअल ट्री में बाइनरी ट्री में संशोधित या परिवर्तित किया जाता है; बाइनरी ट्री यथासंभव संतुलित होते हैं। इस प्रकार, एक वर्चुअल ट्री एक (सॉलिड) लेफ्ट चाइल्ड, एक (सॉलिड) राइट चाइल्ड और शून्य या अधिक (डैश्ड) मिडिल चाइल्ड से जुड़ा होता है।
दूसरे शब्दों में, एक वर्चुअल ट्री में डैश्ड एज द्वारा जुड़े सॉलिड बाइनरी ट्री का पदानुक्रम होता है। प्रत्येक नोड अपने पैरेंट, और अपने लेफ्ट और राइट चाइल्ड के लिए एक पॉइंटर रखता है।
हम जानते हैं कि प्रत्येक पथ को बाइनरी ट्री में परिवर्तित किया जाता है। पथ में एक नोड (मान लीजिए p) का पैरेंट (मान लीजिए q) उस नोड (p) का इन-ऑर्डर (सिमेट्रिक ऑर्डर) उत्तराधिकारी (Inorder Successor) है। हालांकि, यदि p सॉलिड सब-ट्री में अंतिम नोड (सिमेट्रिक ऑर्डर में) है तो उसका पैरेंट पथ उस सॉलिड सब-ट्री की रूट का पैरेंट होगा जिसमें वह समाहित है।
औपचारिक रूप से, Parentpath(v) = Node(Inorder(v) + 1).
ध्यान दें कि किसी भी नोड v के लिए, लेफ्ट सब-ट्री में सभी नोड्स के इनऑर्डर नंबर कम होंगे और राइट सब-ट्री में उच्च होंगे। यह सुनिश्चित करता है कि लेफ्ट सबट्री में सभी नोड्स को वंशज (Descendants) माना जाता है और राइट सबट्री में सभी नोड्स को पूर्वज (Ancestors) माना जाता है। इस प्रकार, बाइनरी ट्री में लेफ्ट चाइल्ड का पैरेंट (मूल ट्री में) पूर्वज माना जाएगा। लेकिन, बाइनरी ट्री में राइट चाइल्ड का पैरेंट मूल ट्री में वंशज माना जाता है। यह क्रम, हमें लागत को प्रभावी ढंग से जोड़ने में मदद करता है।
आगे बढ़ने के लिए हमें कुछ परिभाषाओं या संकेतन की आवश्यकता है।
मान लीजिए mincost(x), x के उसी सॉलिड सब-ट्री में सभी वंशजों के बीच न्यूनतम कुंजी मान वाले नोड की लागत है।
फिर प्रत्येक नोड में हम दो फील्ड δcost(x) और δmin(x) स्टोर करते हैं। हम परिभाषित करते हैं,
δmin(x) = cost(x) − mincost(x). और, δcost(x) = cost(x) − cost(parent(x)) यदि x एक सॉलिड पैरेंट से जुड़ा है δcost(x) = cost(x) अन्यथा (x को सॉलिड ट्री रूट माना जाता है)