AVL树是邪恶的吗?

时间:2009-09-08 15:31:36

标签: algorithm binary-tree red-black-tree avl-tree

我正在阅读Steve Yegge关于单身人士的article。在其中他提到他的老师告诉他AVL树是邪恶的。只是红色和黑色的树木是更好的解决方案吗?

6 个答案:

答案 0 :(得分:19)

从什么角度来看是邪恶的?

总是如此:没有坏工具,只有坏工匠。

在我的记忆中,AVL树的插入/移除速度较慢,但​​检索速度比红/黑更快。主要是因为平衡算法。

答案 1 :(得分:8)

不,AVL树在任何方面都不是邪恶的。它们是完全有效的自平衡树结构。它们具有与红黑树不同的性能特征,通常这些差异导致人们在AVL树上选择红黑树。但这不会使他们变得邪恶。

答案 2 :(得分:4)

我确信AVL树是邪恶的,就像GOTO邪恶或BUBBLE SORT是邪恶一样。

算法并不邪恶,但算法也不会上下跳动来告诉你它们何时合适。

答案 3 :(得分:2)

以下是有关Red-Black和AVL-Trees之间差异的大量信息:

http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=22948

和一篇比较不同结构的论文:

http://www.stanford.edu/~blp/papers/libavl.pdf

简而言之 - AVL搜索速度更快,插入红黑速度更快。

答案 4 :(得分:1)

Splay Trees要冷得多。 :)

答案 5 :(得分:1)

不,他们不是邪恶的,只是有点难以编程。

AVL树 http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx

红黑树也从那里链接。