HERE据说三元搜索树中的每个节点都有三个指针。左,右和等。但是在{CAT,BUGS,CATS,UP}的示例树中,它是如何等于' C'指向' A' ? ' C'和' A'不平等吗?
如果一个节点只能有三个指针,那么三元树如何表示一组键,如{CAB,CBA,CDA,CEA,CFA}?
答案 0 :(得分:1)
A1: equals指针标记当前前缀的延续。因此C - > CA - > CAT - > CAT但不是C - > CB [UGS]。
A2: 这将是给定表达式集的三元搜索树(省略终止标志和叶节点扩展):
C
|
+--------------------+---------------------+
| | |
/l/ /e/ /r/
| | |
C D C
| | |
+-----------+----+ +---+---+ +---+-----------+
| | | | | | | | |
/l/ /e/ /r/ /l/ /e/ /r/ /l/ /e/ /r/
| | | | | | | | |
C B x x A x x E C
| | | |
| | | |
+---+---+ +---+---+ +---+---+ +---+---+
| | | | | | | | | | | |
/l/ /e/ /r/ /l/ /e/ /r/ /l/ /e/ /r/ /l/ /e/ /r/
| | | | | | | | | | | |
x A x x A x x A x x F x
| |
| |
+---+---+ +---+---+
| | | | | |
/l/ /e/ /r/ /l/ /e/ /r/
| | | | | |
x B x x A x