示例图

名词解释

父节点
一个结点的前面的节点,前面的节点是父节点

子节点
一个节点的后面的节点,是子节点

叶子节点
如果一个节点,没有子节点,它就是叶子节点

根节点
没有父节点的节点,是根节点,也就是最顶端的那个节点


一个节点所具备的后件个数,称为度
叶子节点的度为0

深度
树的最大层次,叫做深度
图示的深度为5

子树
以某一个节点的子结点为根所形成的树,称为一个子树

二叉树的相关计算

深度为m的二叉树,最多有多少个结点

2**m - 1

例如:

深度为3的二叉树,最多有 2**3 - 1 =7

二叉树的第k层上,最多有多少个节点

2**(k-1)

第二层上,最多有 2**(2-1) 即 2**1 即 2个节点

第三层上,最多有 2**(3-1),即2**2个,即4个节点

二叉树度为0的节点,与度为2的节点关系

n0 = n2+1

即度为0的结点,始终比度为2的节点多一个

假设有一个满二叉树,节点有七个

问,叶子节点有几个?

常见的考题

度为0的节点 = 度为2的节点 +1

n0 = n2 + 1


n = n2 + 1+ n1 + n2

n = 2n2 + n1 + 1

699 = 2 n2 + 0 +1

699 = 2n2 + 1

699 - 1 = 2n2

698 = 2n2

n2 = 698/2

n2 = 349

n0 = n2 +1

350

数据结构与算法-二叉树的名词概念与相关数据的计算相关推荐

  1. 数据结构与算法-- 二叉树中和为某一值的路径

    二叉树中和为某一值的路径 题目:输入一颗二叉树和一个整数,打印出二叉树中节点值的和为给定值的所有路径.从树的根节点开始往下一只到叶子节点所经过的节点形成一条路径. 我们用二叉树节点的定义沿用之前文章中 ...

  2. 数据结构与算法--二叉树第k个大的节点

    二叉树第k个大的节点 二叉树文章列表: 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆(最大堆,最小堆)实现及原理 数据结构与算法–二叉查找树转顺 ...

  3. 数据结构与算法-- 二叉树后续遍历序列校验

    二叉树后续遍历序列校验 题目:输入一个整数数组,判断改数组是否是某个二叉搜索树的后续遍历结果,如果是返回true否则false,假设输入数组的任意两个数字不相同. 例如输入{5,7,6,9,11,10 ...

  4. javascript数据结构与算法--二叉树遍历(中序)

    javascript数据结构与算法--二叉树遍历(中序) 中序遍历按照节点上的键值,以升序访问BST上的所有节点 代码如下: /**二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中*** ...

  5. 单纯形表的matlab输出,自编MATLAB版单纯性算法 可以列出单纯形表以及其他相关数据...

    自编MATLAB版单纯性算法 可以列出单纯形表以及其他相关数据 function [dcxb,x,fval,exitflag,flag]=simplex(f,A,b,Aeq,beq) %本程序相关说明 ...

  6. 数据结构与算法 -- 二叉树 ADT

    树的类型有很多,这里我们只讲二叉树. 一.二叉树的基本概念 1.什么是二叉树 在计算机科中,二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"和"右子树&q ...

  7. 数据结构和算法基本介绍和概念

    数据结构和算法介绍 什么是数据结构和算法 广义上,数据结构就是一组数据的存储结构,算法就是操作数据结构的一种方法. 程序 = 数据结构 + 算法 结构是数据元素之间不是独立的,存在特定的关系,数据结构 ...

  8. Java数据结构与算法——树(基本概念,很重要)

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...

  9. 数据结构与算法--二叉树的深度问题

    二叉树的深度 题目:输入一颗二叉树的根,求该树的深度.从根节点到叶子节点一次进过的节点形成的一条路径,最长的路径的长度为树的深度. 如下图中二叉树的额深度4,因为从根节点A到叶子节点的路径中有4个节点 ...

最新文章

  1. jetty9请求form表单太小限制
  2. 【网络安全】网络安全攻防 -- 黑客攻击简要流程
  3. Android OTA 升级之三:生成recovery.img
  4. sqlserver操作geography方法
  5. STM32F4 使用STLink 和 EventRecoder 调试运行时间
  6. linux 启动db2 服务器,Linux系统设置DB2等服务开机启动的过程
  7. linux 启动一个网站_在线试用 200 多种 Linux 和 Unix 操作系统
  8. python简单的编程_简单的Python2.7编程初学经验总结
  9. 一起谈.NET技术,.NET程序员必备参考图片
  10. Testin云測试破7000万次:崩溃成90%手游应用质量难题
  11. MySql的基本操作流程-SAE的MySQL-PHP
  12. 使用远程服务器Spyder
  13. Flutter 成功在鸿蒙上运行;微信 8.0 发布;支付宝和微信支付达到反垄断标准 | 极客头条...
  14. net.sf.json.JSONException: #39;object#39; is an array. Use JSONArray instead
  15. Android自定义控件之自定义Toast
  16. ssh 根据指定端口登录远程服务器
  17. 4G全网通模块 安卓 高通骁龙MSM8909核心板 开发板
  18. 台式机与笔记本辐射谁大
  19. UFS和EMMC的区别--原理学习
  20. 青年APP大赛陕西省复赛 收获

热门文章

  1. ElementUI弹框组件 messageBox 如何换行 ?
  2. (百度云服务器的)域名不加www可以访问,添加就不能访问 (添加域名绑定)- 解决篇
  3. WiFi生成二维码卡片共享源码
  4. 千兆交换机下面可以接多少层交换机_高清监控怎么选配交换机
  5. asp.net从入门到精通配套课件_MATLAB从入门到算法实践第八期本周六直播
  6. build unity 丢失_【厚积薄发】Unity 2017打包iOS版本参数丢失
  7. PHP仿金蝶云ERP进销存V8网络多仓版源码
  8. linux ftp中文乱码方块,Ubuntu下NetBeans中文乱码及方框问题的解决方法
  9. Enews博客/CMS/双模式主题源码
  10. layui爱准挂更新密码静态WEB页(临时)