スティーブ・エッゲのシングルトンに関する記事を読んでいました。その中で彼は、先生がAVL木は悪だと言ったと述べています。赤と黒の木がより良い解決策であるというだけですか?
6 に答える
どのような観点から悪?
いつものように:悪い道具はなく、悪い職人だけがいます。
私の記憶では、AVLツリーは赤/黒よりも挿入/削除が遅くなりますが、取得は速くなります。主にバランスアルゴリズムのため。
いいえ、AVL木は確かに悪ではありません。それらは完全に有効な自己平衡ツリー構造です。それらは確かに赤黒木とは異なる性能特性を持っており、通常、これらの違いにより、人々はAVL木よりも赤黒木を選択することになります。しかし、これは彼らを邪悪にするものではありません。
GOTOやBUBBLESORTが悪であるのと同じように、AVL木も悪であると確信しています。
アルゴリズムは悪ではありませんが、アルゴリズムが適切な場合に通知するために上下にジャンプすることもありません。
赤黒木とAVL木の違いに関する多くの情報があります:
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=22948
さまざまな構造を比較した論文:
http://www.stanford.edu/~blp/papers/libavl.pdf
つまり、AVLは検索が高速で、赤-黒は挿入が高速です。
いいえ、それらは悪ではなく、プログラミングするのが少し難しいだけです。
AVLツリー http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx
そこからも赤黒木リンク。
スプレー木はずっと涼しいです。:)