Python中的顺序统计红黑二叉树

Python中的顺序统计红黑二叉树,python,algorithm,binary-tree,binary-search-tree,red-black-tree,Python,Algorithm,Binary Tree,Binary Search Tree,Red Black Tree,是否有用于实现顺序统计红黑二叉树的python库?到目前为止我还没有找到 我试图解决的问题: 给定一个序列:1,2,3,4,1,4,2,3:Labels->1,2,3,4 将标签i的第一次出现称为L_i,将标签i的第二次出现称为U_i 我想计算j的个数,这样所有I的索引(L_I)

是否有用于实现顺序统计红黑二叉树的python库?到目前为止我还没有找到

我试图解决的问题:

给定一个序列:1,2,3,4,1,4,2,3:Labels->1,2,3,4

将标签i的第一次出现称为L_i,将标签i的第二次出现称为U_i

我想计算j的个数,这样所有I的索引(L_I)
Input : 1,2,3,4,1,4,2,3 
Output :  4 
因为| j |=3因为索引(L_1)θ(n^2)中通过在数组中对每个点进行线性搜索来完成,但使用平衡顺序统计RBTree有助于在
θ(n*log(n))
中完成

这是我的想法:

for each label in sequence:
 count= count + search(label)
搜索时,如果找不到标签,请插入并返回0:O(logn)

搜索时,如果找到标签,请将其删除,并计算大于该值的节点数,然后返回该值