Maison  >  Article  >  développement back-end  >  这样的拓扑图如何算出上层有哪些数字

这样的拓扑图如何算出上层有哪些数字

WBOY
WBOYoriginal
2016-06-20 12:43:33930parcourir



如图,每一层有 2个节点,现在,如何知道 8的上层 有1,2,4
如何算出 10的上面有1,2,5呢?

真心求教!


回复讨论(解决方案)

每个数字都记录他的父级
1的父级为0
2、3的父级为1
4、5的父级为2,6、7的父级为3
以此类推

然后递归寻找某个数的父级,直到父级为0结束。

完全二叉树的话

    $n = 10;//
    while($n > 1){
        $n = floor($n/2);
        echo $n." ";
    }
?>

可以看看数据结构二叉树的部分

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn