Thuật toán cân bằng đơn giản hơn có thể yêu cầu thời gian khấu hao trên mỗi vòng quay trong trường hợp xấu nhất. Giả sử cây chỉ là một con đường hoàn toàn không cân bằng của những đứa trẻ phải; không có nút nào có con trái Lá duy nhất trong cây này là cây có chìa khóa tối đa. Nếu bạn xoay bước này từng bước lên đến gốc, bạn đã sử dụng phép quay và cây kết quả vẫn hoàn toàn không cân bằng.Ω ( n )n - 1
Bây giờ, giả sử chúng ta liên tục thúc đẩy mọi nút trong cây, từng nút một, theo thứ tự khóa giảm dần, sử dụng thuật toán đơn giản hơn. Sau khi tất cả các chương trình khuyến mãi được thực hiện, cây đã trở lại trạng thái ban đầu và chúng tôi đã sử dụng khoảng xoay. Do đó, trung bình, mỗi quảng cáo trong chuỗi này yêu cầu các vòng quay ; hơn nữa, tôi có thể lặp lại mô hình này mãi mãi Vì vậy, chi phí khấu hao cho thuật toán khuyến mãi này là .n2/ 2Ω ( n )Ω ( n )
Ví dụ xấu này xuất hiện trong bài viết về cây splay gốc của Sleator và Tarjan.
Thuật toán splay xem xét không chỉ một nút tại một thời điểm, mà là hai nút tại một thời điểm. Cụ thể, nếu nút được phát là con đúng của một con đúng, thuật toán splay trước tiên sẽ xoay cha mẹ của và sau đó chỉ xoay .xxx
Ưu điểm của thuật toán phức tạp hơn này là nó không chỉ đưa nút truy cập đến gốc mà còn di chuyển mọi tổ tiên của nút được truy cập gần một nửa đến gốc , nhưng không bao giờ di chuyển bất kỳ nút nào nhiều hơn một số cấp không đổi từ nguồn gốc.
Sleator và Tarjan chứng minh rằng thời gian khấu hao cho mỗi lần chơi chỉ là . (Bằng chứng sử dụng phân tích trường hợp tẻ nhạt bằng chức năng tiềm năng ma thuật; thành thật mà nói, nếu bạn tò mò, chỉ cần đọc bài báo gốc.) Tất nhiên một trò chơi đơn có thể mất thời gian , nhưng bắt đầu bằng một cái cây trống rỗng, bạn phải thực hiện rất nhiều thao tác chèn và ghép để thiết lập một ví dụ tồi tệ như vậy.O ( nhật kýn )Ω ( n )
Ngắn gọn hơn: Splaying di chuyển các nút lên nhanh và xuống chậm.