• 平衡树总结专题


    ...首先我只会打Splay(伸展树),并不知道treap什么的...

    而且没有系统的看过...只是看的一本名叫《高级数据结构》的书...

    不过做题做了很多经典的了...

    觉得这个东西主要还是看题目的需求吧。

    平衡树首先比较适合的操作有插入删除,也可以像线段树一样加tag

    一般只有两种情况:一是按照数值排序建立二叉树,二是按照序列的下标顺序建立二叉树。

    对于第一种建树方法:常见的有求第k大的数,求前驱和后继,求最大最小值[这个用第二种也可以]。这个主要利用的还是二叉搜索树的性质和splay让二叉树保证结构稳定。

    第二种建树方法:更多就在区间操作上了,例如翻转[这个比较特殊],同时加上数或同时赋成一个值。这个利用的就是splay完成的寻找区间操作以及树结构独特的标记色彩。

    所以第一步办好了后面的事就是注意细节和看清题目了。

    数据结构题非常容易犯细节错误——代码冗长....

    我自己犯过的错误:

    1.总是将儿子交代好,却忘记了儿子的父亲没赋值[主要体现在初始化数组的时候...]

    2.下传标记忘记清空标记[线段树打少了...]

    3.虚拟节点的标号搞不清[要知道其它节点因为它而变化了多少]

    4.数组开小,忘记回收[这个还是没看清题的缘故...]

  • 相关阅读:
    2012年春晚剧本
    研究机器人
    85.圆角边框的两大要素 Walker
    81.边框设置 Walker
    76.背景固定 Walker
    84.边框方向 Walker
    86.圆角边框设置 Walker
    82.边框宽度和边框颜色 Walker
    88.轮廓和样式重置 Walker
    77.背景简写 Walker
  • 原文地址:https://www.cnblogs.com/Robert-Yuan/p/5090285.html
Copyright © 2020-2023  润新知