题目:用log(n)算法 找完全二叉树最底层最右边的结点

一颗二叉树的总结点其实是知道的,设为N。

如上图,总共有15个结点,那么找15号结点只需从根结点开始,向右--向右--向右。

假设只有14个点,那么向右--向右--向左

假设只有13个结点,那么向右---向左---向右

……

……

可以找到规律,总结点数即为最后一个结点,也就是我们要找的结点。把此结点一直除以2,记录其余数。之后根据余数来找。

例如15号结点,一直除以2,余数分别为(15%2)1、(7%2)1、(3%2)1

例如14号结点,一直除以2,余数分别为(14%2)0、(7%2)1、(3%2)1

…………

把这些余数逆序,从根结点开始找,如果是1,则向右,如果是0则向左。

这样算法时间复杂度为log(n)。

找完全二叉树最底层最右边的结点相关推荐

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

    题目: 如何查找完全二叉树最后一层的最右边的结点. 解决方案: 需要分两种情况考虑. (1)如果完全二叉树是用数组表示的,则直接取数组的最后一个元素. (2)如果完全二叉树是用指针表示的: 可以如下解 ...

  2. 对“一棵有124个叶节点的完全二叉树,最多有多少个结点”的思考

    在网上看到这个问题,在讨论答案到底是248,还是247,评论普遍认为是247,但我觉得答案是248 先再读一遍题目,里面有"最多"两个字,也就是说能满足条件的完全二叉树不止一种,要 ...

  3. [LeetCode] Find Largest Value in Each Tree Row 找树每行最大的结点值

    You need to find the largest value in each row of a binary tree. Example: Input: 1/ \3 2/ \ \ 5 3 9 ...

  4. 找二叉树根节点到叶子结点最长路径

    void Findpath(BiTree T){//后序遍历法寻找从根节点到叶子结点最长路径BiTree stack[MaxSize],path[MaxSize],p=T,r;int top=-1,m ...

  5. 字节跳动面试算法题目以及答案

    题目来源于牛客 https://www.nowcoder.com/discuss/455003?type=post&order=time&pos=&page=2&cha ...

  6. 求完全二叉树的结点个数

    第一次见这个题,看时间小于O(N)..... 只能是二分啊. 但是怎么二分,条件是什么,真的想不到. 后来知道了,我们要找最深一层最右边那个结点.借此确定结点个数. 我们知道,满二叉树的结点个数和深度 ...

  7. [PHP] 算法-请找出带环链表的环的入口结点的PHP实现

    给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null1.找链表倒数第k个结点,输入一个链表,输出该链表中倒数第k个结点.第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移 ...

  8. 二叉树中找两个结点的最近公共祖先结点

    一.搜索二叉树:第一变种是二叉树是一种特殊的二叉树:查找二叉树.也就是树是排序过的,位于左子树上的结点都比父结点小,而位于右子树的结点都比父结点大.我们只需要从根结点开始和两个结点进行比较.如果当前结 ...

  9. 二叉树、平衡二叉树、完全二叉树、满二叉树

    基本概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层. 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度. 二叉树 在计算机科学中,二叉树是每个结点最多有两个子 ...

最新文章

  1. 打印对象和toString方法
  2. CNCF推出云原生网络功能(CNF)Testbed
  3. 【CyberSecurityLearning 34】Linux脚本编写(Shell脚本)
  4. Ambari 2.6.0 HDP 2.6.3集群搭建
  5. 一个使用ABAP Push Channel开发的乒乓球游戏,可以双打
  6. 计算机二级链表,计算机二级c语言上机考试——结构体与链表(3页)-原创力文档...
  7. Python错误:TypeError: string indices must be integers
  8. WPF ----在UserControl的xaml里绑定依赖属性
  9. 使用React搭建初始化环境(React入门)
  10. 除系统分区外未找到其它非系统分区导致软件无法运行解决方案
  11. Jquery—JQuery对select的操作(01)
  12. Atitit 艾提拉音频资源列表与统计 t6 六月份战果与7月份规划.docx 目录 1. 第一层次 原始资源类 采集资源类 1 1.1. K歌类采集资源 整理 1 1.2. K歌类资源初步分类
  13. 读书笔记|智能运维系统落地方案
  14. Java 设计模式——工厂模式
  15. python的文件怎么删除干净_python 实现彻底删除文件夹和文件夹下的文件
  16. 手机翻译html工具,1分钟教你用手机实时翻译,自带翻译功能就是强大,各牌手机均可...
  17. 新手学做网站的建议教程
  18. Unix/Linux编程:POSIX时钟
  19. 《灵飞经》3·印神无双 第十三章 剑奕星斗 2
  20. 控油,真的可以缓解脂溢性脱发么?

热门文章

  1. 小鳄鱼和一年以上余额组合调仓说明
  2. 我的世界mod整合包java_我的世界元素世纪mod整合包(懒人包)
  3. 塔塔帝国服务器维护一般多久,塔塔帝国玩法攻略 策略性一般不氪金的塔防游戏...
  4. js实现复制到剪切板
  5. Tampermonkey(油猴)+IDM实现某度免登录高速下载
  6. 盘点由中国人开发的编程语言
  7. U盘打不开,无法格式化的一个解决方案
  8. 札记【3】间歇性丧失斗志
  9. uni-app判断是否安装了某个APP,有直接打开,无跳转到下载页
  10. spring拦截器自定义HttpServletResponse返回数据中文乱码