Đối với rừng (forest) cho trước, chúng ta làm cho một số cạnh "nét đứt" (dashed) và giữ lại phần còn lại là "rắn" (solid). Mỗi nút không phải lá có đúng một cạnh "rắn" đến một trong các con của nó. Tất cả các con khác sẽ được kết nối bằng cạnh "nét đứt".
Cụ thể hơn, trong bất kỳ cây cho trước, liên kết bên phải nhất (đến con của nó) nên được giữ rắn, và tất cả liên kết khác đến các con khác được làm "nét đứt".
Kết quả, cây sẽ bị chia thành tập hợp các đường rắn (solid paths). Gốc của các đường rắn sẽ được nối với một đường rắn khác bởi cạnh nét đứt. Một cấu trúc dữ liệu mới gọi là "cây ảo" (virtual tree) được xây dựng. Mỗi cây liên kết và cắt (linking and cutting tree) T được biểu diễn bởi một cây ảo V, chứa cùng tập nút. Nhưng mỗi đường rắn của cây gốc được chuyển đổi thành cây nhị phân trong cây ảo; các cây nhị phân được cân bằng nhất có thể. Do đó, một cây ảo có một con trái (rắn), một con phải (rắn) và zero hoặc nhiều con giữa (nét đứt).
Nói cách khác, cây ảo bao gồm hệ thống phân cấp các cây nhị phân rắn được nối bởi cạnh nét đứt. Mỗi nút có con trỏ đến cha, con trái và con phải.
Chúng ta biết mỗi đường được chuyển thành cây nhị phân. Cha (giả sử q) của nút (giả sử p) trong đường là người kế thừa in-order (thứ tự đối xứng) của nút đó (p) trong cây rắn. Tuy nhiên, nếu p là nút cuối cùng (theo thứ tự đối xứng) trong cây con rắn chứa nó, thì cha đường của nó sẽ là cha của gốc của cây con rắn chứa nó.
Formally, Parentpath(v) = Node(Inorder(v) + 1).
Lưu ý: với bất kỳ nút v, tất cả nút trong cây con trái sẽ có số in-order nhỏ hơn và cây con phải sẽ có số in-order lớn hơn. Điều này đảm bảo tất cả nút trong cây con trái là hậu duệ (descendants) và tất cả nút trong cây con phải là tổ tiên (ancestors) trong cây gốc. Do đó, cha (trong cây nhị phân) của con trái sẽ được coi là tổ tiên (trong cây gốc). Nhưng cha (trong cây nhị phân) của con phải được coi là hậu duệ (trong cây gốc). Thứ tự này giúp thực hiện add cost (thêm chi phí) hiệu quả.
Chúng ta cần một số định nghĩa/ký hiệu để tiếp tục.
Gọi mincost(x) là chi phí của nút có giá trị khóa nhỏ nhất trong tất cả hậu duệ của x trong cùng cây con rắn.
Sau đó, trong mỗi nút ta lưu hai trường δcost(x) và δmin(x). Chúng ta định nghĩa:
δmin(x) = cost(x) − mincost(x). δcost(x) = cost(x) − cost(parent(x)) nếu x có cha rắn. δcost(x) = cost(x) nếu không (x là gốc cây rắn).