在貼吧看了個娛樂向的騙回復帖子,說雙旋比單旋慢。好吧,我承認可能在某一次是這樣。但別忘了,splay可是平攤時間複雜度的。
那爲啥我們要雙旋呢?如果你手動模擬四個以上的點的旋轉,你會發現,如果單旋一條鏈的葉子到根,轉完了還是一條鏈。但如果用雙旋,那麼會是一棵樹。可能判斷會很麻煩,但後面會快的!
好了這篇文章就到這裏(你問我爲啥這麼短?因爲我要放圖啊……)
zig是右旋(把父親節點變成自己的右兒子),zag是左旋。
在貼吧看了個娛樂向的騙回復帖子,說雙旋比單旋慢。好吧,我承認可能在某一次是這樣。但別忘了,splay可是平攤時間複雜度的。
那爲啥我們要雙旋呢?如果你手動模擬四個以上的點的旋轉,你會發現,如果單旋一條鏈的葉子到根,轉完了還是一條鏈。但如果用雙旋,那麼會是一棵樹。可能判斷會很麻煩,但後面會快的!
好了這篇文章就到這裏(你問我爲啥這麼短?因爲我要放圖啊……)
zig是右旋(把父親節點變成自己的右兒子),zag是左旋。