全部评论
统计各个节点子树的大小。然后先算根节点的代价,然后其他点的时候根据靠近的点,远离的点的数量,转移一下就可以了。
设节点数为n,时间复杂度为On空间复杂度为On的解法。先遍历一遍树,用map存储节点对应的树的节点数量。然后从根开始,设left为左子树的节点数量,设right右子树的节点数量。r若left-right的绝对值<=1,那么该结点就是最优节点。否则,若left大往左走,right大往右走。然后更新对应的left值和right 值循环即可。(循环进行时left与right不再表示左子树的节点数量和右子树的节点数量)
这个要求树的重心吧
相关推荐
01-14 20:42
南昌航空大学科技学院 前端工程师 点赞 评论 收藏
分享