如何查找完全二叉树最后一层的最右边的结点

题目:

如何查找完全二叉树最后一层的最右边的结点。

 

解决方案:

需要分两种情况考虑。

(1)如果完全二叉树是用数组表示的,则直接取数组的最后一个元素。

(2)如果完全二叉树是用指针表示的:

可以如下解决:

a. 从根节点开始,如果右子树存在,则每次先遍历右子树,如果右子树不存在,则访问左子树;

b. 如果右子树是叶子节点(即当前节点没有孩子节点),则该节点即所求节点;

如果右子树不存在,而左子树存在且左子树是叶子节点,则该节点为所求节点;

否则,按a继续查找。

 

以上算法为本人想法,如有问题或建议,欢迎讨论。

    原文作者:二叉查找树
    原文地址: https://blog.csdn.net/yahohi/article/details/7917950
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞