2
我想實現一個rope tree作爲字符串的替代數據結構。格式不正確的二進制繩索樹
維基百科頁面不清楚拆分樹的規則,但these rules似乎起初工作。但是經過幾次分裂操作我結束了一個無效的樹:
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術語說),我該如何解決它?
的重謝謝!不知怎的,我進入了我的頭:下面的規則:節點的重量= node.left.weight + node.left.right.weight。正如你所說,這應該是node.left.weigth + node.left。(所有權利的重量) – user965972