文字列の代替データ構造としてロープ ツリーを実装しようとしています。
ウィキペディアのページには、ツリーを分割するためのルールが不明ですが、これらのルールは最初は機能しているように見えました。ただし、いくつかの分割操作の後、無効なツリーになりました。
6
/\
/ \
4 \
/\ \
/ \ \
/ 2 4
/ /\ /\
4 2 3 4 7
A B C D E
数字はノードの重みを表し、葉の場合は部分文字列の長さを表します。この不正なツリーでは、部分文字列 C に到達することはできません。
良い木の例. ウィキペディアの説明に従って、すべての文字に到達できます。
6
/\
/ \
/ 7
/ /\
4 3 \
/ \ / \ \
4 2 3 4 7
A B C D E
私は CS のバックグラウンドがないので、ツリーの何が問題なのかわかりません。このツリーの問題を適切に表現する方法さえわかりません。このツリーの (CS 用語での) 何が問題で、どうすれば解決できますか?