我在树上工作,每个节点有N个子节点。
在我的例子中,每个节点都有一个唯一的标识符。我想从子标识符中推导出父节点的标识符。
因此,我们可以添加一个关于子标识符的信息来推断出例如:如果父节点是“123”,子节点是“123.3”,那么我们推断出(123.3)的父亲是“123” 。但是我们有一个大树的问题,那么节点标识符可以是“12.3.4.1.2.4.5 ......”,不是一个好的解决方案。
使用简单数字生成子标识符然后推导出父标识符(考虑到它在整个树中是唯一的)的最佳方法是什么?
答案 0 :(得分:2)
如何将节点的路径编码为二进制,三元等(匹配N)整数?例如,14的二进制数字是{1, 1, 1, 0}
,这可能代表right -> right -> right -> left
的路径。或者对于三元树,33的三进制数字为{1, 0, 2, 0}
,这可能代表middle -> left -> right -> left
。