伸展树是:任意M次对树的操作最多花费O(MlogN)的时间。
摊还时间: 如果M次操作运行O(MF),那么摊还时间就是O(F)
展开:
分为三种情况:
①X节点的爸爸就是根节点那么旋转一次即可咯
②X有爷爷,且为左左左或右右右所谓的zig-zig一字型,那么先对k1-k2转,再对k2-k3转,
③X有爷爷,且为之字型(zig-zag),执行双旋转即可。
展开操作不仅使X变为根节点,其他大部分节点深度也减少了一半。
时间: 2024-10-13 06:51:59
伸展树是:任意M次对树的操作最多花费O(MlogN)的时间。
摊还时间: 如果M次操作运行O(MF),那么摊还时间就是O(F)
展开:
分为三种情况:
①X节点的爸爸就是根节点那么旋转一次即可咯
②X有爷爷,且为左左左或右右右所谓的zig-zig一字型,那么先对k1-k2转,再对k2-k3转,
③X有爷爷,且为之字型(zig-zag),执行双旋转即可。
展开操作不仅使X变为根节点,其他大部分节点深度也减少了一半。