Splay是個好東西,中文譯名為伸展樹,它除了擁有Treap的功能外,還也可以實現快速分裂和合并序列。(學之前最好先對BST和Treap有一定了解) 最重要的是理解Splay的伸展操作,即將一個指定節點x自底向上通過旋轉操作,使x成為根節點,要分三種情況來考慮: 1、x的節點為父節點,進行一次單旋即可; 2、x的父節點y、y的父節點z在一條直線上如下圖:
3、x,y,z不在一條直線上,形成一個“Z”形如下圖:
(好吧圖確時有點那個啥,不過這不是重點,理解就好) 上代碼:


hhh
新聞熱點
疑難解答