我正在使用树数据结构,并试图想出一种方法来计算我可以从树的节点获得的信息。
我想知道是否存在任何现有技术可以为一个节点赋予更高的数值重要性,该节点在较低级别(距树的根部的距离)上出现的频率低于在较高级别和高频率下出现的相同节点。
举一个例子,我想对节点Book赋予更多的意义,在第2级出现一次, 然后在3级出现三次。
将会欣赏任何有关类似技术的建议/指示。
谢谢,
Prateek
答案 0 :(得分:1)
我刚才想到的一个指标是:对于标签k
,让它的“值”是它出现的级别的总和。因此,如果它出现在根和根的左子,则将其值设为1.
然后,您最“重要”的标签是那些价值最低的标签。
编辑:这会使根比其子女的标签更重要,即使它们都是相同的。因此,按发生次数进行的某些缩放可能是有序的。
答案 1 :(得分:1)
这取决于你想在每个级别给予它多少重要性。
只需乘以一个在向下移动树的级别时减少的数字。例如,n_nodes * 1/(3^n)
,其中n是树的级别。因此,级别2上的节点获得值1/4,级别3上的3个节点获得值1/9。因此,级别2上的单个节点更重要。
根据自己的喜好调整分母。只要它随着n增加,它将对树中较高的节点赋予更多的意义。