Skip to content

平衡树 ​

cpp
//方法
__gnu_pbds::tree<Key, Mapped, Cmp_Fn = std::less<Key>, 
    Tag = __gnu_pbds::rb_tree_tag,
    Node_Update =  __gnu_pbds::null_tree_node_update,
    Allocator = std::allocator<char> >
//key为数值类型
//Mapped,有则为std::map,没有(即null_type)则为std::set
//Cmp_Fn,分别为less<>和greater<>对应递减与递增
/*******tag******/
rb_tree_tag:红黑树,一般用法
splay_tree_tag:splay树
ov_tree_tag:排序的vector
/****************/
//Node_Update,更新节点策略,使用tree_order_statistics_node_update后开启order_of_key,find_by_order方法
//Allocator,一般缺省不用