比较身高平衡树和体重平衡树

Vishwarajanand

我正在考虑以下情况:高度平衡的树胜过重量平衡的树。以下是即使经过大量搜索也无法找到答案的问题:

  1. 这两棵树在时间和空间上都具有相似的复杂性,那么为什么我要优先选择另一棵呢?

  2. 在某些应用中,重量平衡树比高度平衡树更受欢迎吗?

  3. 如果我想知道这些给定的树中哪些可以满足我的需求,在CRUD查询模式中应该观察哪些功能?

瓦汀

高度平衡的树改善了最坏情况下的查找时间(对于二叉树,它总是以log2(n)为界),但代价是使典型情况下的查找次数减少了大约一个(大约一半的节点为在最大深度)。

如果您的体重与查找频率有关,那么权重平衡的树将改善平均查找时间,但代价是使最坏的情况变得更高(更频繁请求的项目具有更高的权重,因此倾向于较浅的树,成本较高的树则用于需求较少的商品。

找出最有效的最佳方法是测量。如果您可以收集一些有代表性的查询流量,则可以简单地构建一个测试装备,在其中计算树的操作(插入,跟随子指针,...),然后针对高度平衡和权重平衡重播固定的查询树。但是通常来说,高度均衡的树越有效,即使数据集上的请求频率越多,并且偏差越大,则从重量均衡的树中获得的优势就越大。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章