百科问答小站 logo
百科问答小站 font logo



Size Balanced Tree 真的是国内 ACM 选手陈启峰的发明吗? 第1页

  

user avatar   chen-qi-feng-17 网友的相关建议: 
      

偶然看到这个帖子,我来回答一下。

Size Balanced Tree (SBT)是我高中时写的一篇集训队论文。有兴趣的读者可以看看我以前整理的SBT资料(从

stanford.edu/~cqf/SBT.z

下载)。

首先澄清一点,SBT跟算法导论里面的Weight-balanced Tree (WBT) 有所不同。WBT维护的是子树与儿子的关系,SBT维护的是子树与侄子(兄弟的儿子)的关系。

从理论上来讲,SBT和其他流行的平衡树在摊平时间复杂度上没有区别。

从实用角度来说,SBT在某些方面可能会超越其他平衡树。在SBT的左/右旋转过程中,所有节点的平均深度在下降,那么查询操作的期望深度也在降低(如果一个节点在深度d,那么我们只需要走d步)。当查询操作比较多的时候,SBT会有优势。另外,SBT保存的子树大小可以用来查询第k大,而AVL,Treap,红黑树存储的额外信息不能用来查询第k大。




  

相关话题

  怎样实现浮点数除以一个数再乘以这个数结果等于原值? 
  最快的 atoi、atof 实现是什么样的? 
  如何正确地用 Test Driven Development 实现算法? 
  竞赛退役是种怎样的体验? 
  为什么算法时间复杂度没有三角函数级别? 
  算法源于大数据,而大数据源于我们每一个人,那我们是不是应该拥有主导数据的权利? 
  如何看待关于“数据结构与算法基础”的重要性? 
  如何直接跳出深层递归而不是一层一层跳出? 
  python怎么去掉最大值和最小值,怎么找到最大值与最小值,去掉最大值最小值比如下面这道题? 
  哪些看似与图论无关的问题可用图论模型解决? 

前一个讨论
年薪三十万的码农不如一个省委办公厅公务员吗?
下一个讨论
知乎用户 Negar Kordi 给知乎带来了多大的贡献?





© 2025-02-09 - tinynew.org. All Rights Reserved.
© 2025-02-09 - tinynew.org. 保留所有权利