我正在尝试实现一个绳索树作为字符串的替代数据结构。
维基百科页面不清楚拆分树的规则,但这些规则起初似乎有效。然而,经过几次拆分操作,我最终得到了一个无效的树:
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 术语),我该如何解决?