数据结构与算法-二叉树的名词概念与相关数据的计算
示例图
名词解释
父节点
一个结点的前面的节点,前面的节点是父节点
子节点
一个节点的后面的节点,是子节点
叶子节点
如果一个节点,没有子节点,它就是叶子节点
根节点
没有父节点的节点,是根节点,也就是最顶端的那个节点
度
一个节点所具备的后件个数,称为度
叶子节点的度为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
数据结构与算法-二叉树的名词概念与相关数据的计算相关推荐
- 数据结构与算法-- 二叉树中和为某一值的路径
二叉树中和为某一值的路径 题目:输入一颗二叉树和一个整数,打印出二叉树中节点值的和为给定值的所有路径.从树的根节点开始往下一只到叶子节点所经过的节点形成一条路径. 我们用二叉树节点的定义沿用之前文章中 ...
- 数据结构与算法--二叉树第k个大的节点
二叉树第k个大的节点 二叉树文章列表: 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆(最大堆,最小堆)实现及原理 数据结构与算法–二叉查找树转顺 ...
- 数据结构与算法-- 二叉树后续遍历序列校验
二叉树后续遍历序列校验 题目:输入一个整数数组,判断改数组是否是某个二叉搜索树的后续遍历结果,如果是返回true否则false,假设输入数组的任意两个数字不相同. 例如输入{5,7,6,9,11,10 ...
- javascript数据结构与算法--二叉树遍历(中序)
javascript数据结构与算法--二叉树遍历(中序) 中序遍历按照节点上的键值,以升序访问BST上的所有节点 代码如下: /**二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中*** ...
- 单纯形表的matlab输出,自编MATLAB版单纯性算法 可以列出单纯形表以及其他相关数据...
自编MATLAB版单纯性算法 可以列出单纯形表以及其他相关数据 function [dcxb,x,fval,exitflag,flag]=simplex(f,A,b,Aeq,beq) %本程序相关说明 ...
- 数据结构与算法 -- 二叉树 ADT
树的类型有很多,这里我们只讲二叉树. 一.二叉树的基本概念 1.什么是二叉树 在计算机科中,二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"和"右子树&q ...
- 数据结构和算法基本介绍和概念
数据结构和算法介绍 什么是数据结构和算法 广义上,数据结构就是一组数据的存储结构,算法就是操作数据结构的一种方法. 程序 = 数据结构 + 算法 结构是数据元素之间不是独立的,存在特定的关系,数据结构 ...
- Java数据结构与算法——树(基本概念,很重要)
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...
- 数据结构与算法--二叉树的深度问题
二叉树的深度 题目:输入一颗二叉树的根,求该树的深度.从根节点到叶子节点一次进过的节点形成的一条路径,最长的路径的长度为树的深度. 如下图中二叉树的额深度4,因为从根节点A到叶子节点的路径中有4个节点 ...
最新文章
- jetty9请求form表单太小限制
- 【网络安全】网络安全攻防 -- 黑客攻击简要流程
- Android OTA 升级之三:生成recovery.img
- sqlserver操作geography方法
- STM32F4 使用STLink 和 EventRecoder 调试运行时间
- linux 启动db2 服务器,Linux系统设置DB2等服务开机启动的过程
- linux 启动一个网站_在线试用 200 多种 Linux 和 Unix 操作系统
- python简单的编程_简单的Python2.7编程初学经验总结
- 一起谈.NET技术,.NET程序员必备参考图片
- Testin云測试破7000万次:崩溃成90%手游应用质量难题
- MySql的基本操作流程-SAE的MySQL-PHP
- 使用远程服务器Spyder
- Flutter 成功在鸿蒙上运行;微信 8.0 发布;支付宝和微信支付达到反垄断标准 | 极客头条...
- net.sf.json.JSONException: #39;object#39; is an array. Use JSONArray instead
- Android自定义控件之自定义Toast
- ssh 根据指定端口登录远程服务器
- 4G全网通模块 安卓 高通骁龙MSM8909核心板 开发板
- 台式机与笔记本辐射谁大
- UFS和EMMC的区别--原理学习
- 青年APP大赛陕西省复赛 收获
热门文章
- ElementUI弹框组件 messageBox 如何换行 ?
- (百度云服务器的)域名不加www可以访问,添加就不能访问 (添加域名绑定)- 解决篇
- WiFi生成二维码卡片共享源码
- 千兆交换机下面可以接多少层交换机_高清监控怎么选配交换机
- asp.net从入门到精通配套课件_MATLAB从入门到算法实践第八期本周六直播
- build unity 丢失_【厚积薄发】Unity 2017打包iOS版本参数丢失
- PHP仿金蝶云ERP进销存V8网络多仓版源码
- linux ftp中文乱码方块,Ubuntu下NetBeans中文乱码及方框问题的解决方法
- Enews博客/CMS/双模式主题源码
- layui爱准挂更新密码静态WEB页(临时)