度(degree):是子树的个数
叶子(leaf):度为0
Height或者Depth:最大层数
Ancestor&Descendant:祖先与子孙
二叉树可以没有左子树而有右子树,也就是可以是无序的
二叉树与树是两种不同的数据结构.
完全二叉树:最多只有最下一层度数可以小于2,并且最下一层的结点都集中在左边.
二叉树性质:
1:第i(i>=1)层上的结点数最多为2^i-1
2:高度为K的二叉树最多有2^k-1个结点
3:对任何二叉树T,设n0,n1,n2分别表示度为0,1,2的结点个数,则n0=n2+1
4:具有n个结点的完全二叉树的高度为
5:非空满二叉树的叶结点数等于其分支结点数加1
6:一颗非空二叉树空子树的数目等于其结点数目加1
二叉树的JAVA接口 称之为BinNode类中存储了指向Object类的引用
package Tree;
interface BinNode {
public Object element();
public Object setElement();
public Binnode left();
public Binnode setLeft(BinNode p);
public Binnode right();
public Binnode setRight(BinNode p);
public Boolean isLeaf();
}
在顺序存储结构中一切都看做完全二叉树
假设给定结点的地址为I
1.若I=1则该结点为根结点
2.若I!=1则该结点的父亲结点地址为I/2的整数部分
3.若2*I<=n 则该结点的左儿子地址为2*I,否则该结点无左儿子
4.若2*I+1<=n 则该结点的右儿子地址为2*I+1,否则该结点无右儿子
5.若I为奇数,则该结点的左兄弟为I-1
6.若I为偶数,则该结点的右兄弟为I+1
分享到:
相关推荐
Linux驱动之设备树是Linux内核与硬件交互的关键机制,特别是在嵌入式系统中,它为内核提供了关于硬件配置的详细信息。设备树的概念源自于开放固件(openFirmware)标准,主要用于PowerPC架构,后来被广泛应用于ARM及...
Linux系列-Ubuntu入门-学习笔记
【标题】"C语言视频教程-谭浩强版-小甲鱼主讲-学习笔记.zip"揭示了这是一份以C语言为主题的视频教学资源,由知名编程教育家谭浩强的经典教材为基础,由网络知名讲师小甲鱼进行讲解。这份教程可能包含一系列的视频...
以上是JavaScript学习笔记中提到的一些核心知识点,通过对这些知识点的理解和熟练应用,可以为进一步学习和掌握JavaScript打下坚实的基础。在实际开发过程中,结合具体的项目需求,这些知识会得到更深入的拓展和应用...
"ORACLE新体系-学习笔记.rar"显然是一份详细整理的Oracle数据库学习资料,旨在帮助用户深入理解Oracle的新特性和体系结构。这份笔记可能涵盖了从基础概念到高级技术的各个方面,为提升数据库管理技能提供了全面的...
### Java数据结构与算法——学习笔记 #### 一、引言 在计算机科学领域,**数据结构**与**算法**是两个极其重要的概念。数据结构指的是数据的组织方式,而算法则是解决特定问题的一系列步骤。这两者是编程的基础,...
此外,还有预定义的模型类,如`QStringListModel`(存储字符串列表)、`QStandardItemModel`(管理复杂树结构)、`QDirModel`(显示文件系统)、以及数据库相关的模型类(如`QSqlQueryModel`、`QSqlTableModel`等)...
以上内容是对计算机二级等级考试公共基础知识部分的学习笔记,涵盖了算法与数据结构的核心概念和基础知识,包括数据结构的逻辑与物理结构、各种查找与排序技术、算法的基本特征与复杂度分析方法等。掌握这些知识点,...
首先,出厂内核设备树在路径 arch/arm/boot/dts/imx6ull-14x14-evk.dts 中已将 KEY0 按键注册为 gpio-keys 类型设备,键值为 114,对应 Qt 的 Key_VolumeDown 键值。该按键在普通键盘上找不到,但某些笔记本电脑可以...
这篇学习笔记将深入探讨STL的核心概念、主要组件以及其在实际编程中的应用。 首先,STL的核心概念是容器、迭代器、算法和函数对象。容器是STL提供的一系列数据结构,如vector(动态数组)、list(双向链表)、set...
QTreeWidget继承自QTreeView,提供预定义树模型的树视图,适合管理和显示树状结构数据。它通过QTreeWidgetItem管理每个树项,无需用户自定义模型。示例包括模拟联系人分组,支持群发信息,使用信号槽机制管理节点...
逻辑结构:描述数据元素之间的逻辑关系,如线性结构(如数组、链表)、树形结构(如二叉树、堆、B树...学习算法与数据结构不仅有助于理解程序的内部工作原理,更能帮助开发人员编写出高效、稳定和易于维护的软件系统。
QTreeView 用于展示树形结构的数据,通过 QStandardItemModel 构建树状模型。QTableView 提供表格视图,通过设置模型来管理数据项。QColumnView 则在多个 QListView 中显示分层数据,而 QUndoView 则展示撤销堆栈的...
学习笔记-Trie树整理
│ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...
【标题】"Java学习笔记4-圣诞树"主要聚焦于使用Java编程语言创建一个图形化的圣诞树展示。在Java编程中,这样的练习通常用于教授控制台输出艺术或基础的字符图形设计。它涉及到字符串操作、循环结构(如for或while)...
以上内容仅是华为HCNP认证学习笔记的一部分,实际认证中还需要深入理解网络故障排查、QoS(服务质量)、MPLS(多协议标签交换)等相关知识。通过全面学习和实践,才能更好地掌握这些技术并取得认证。
学习笔记-最小生成树MST
这篇学习笔记将深入探讨Gwt-ext的核心概念、功能以及如何在实际项目中应用。 GWT是由Google开发的一个开源框架,它允许开发者使用Java语言来编写前端Web应用。GWT编译器会将Java代码转换为优化过的JavaScript,以...
【cpp-算法学习笔记】是一份专注于C++编程语言的算法学习资源,旨在帮助开发者深入理解和掌握各种基础及高级算法。这份笔记包含了丰富的实例、解释和练习,是C/C++开发人员提升算法技能的理想教材。在C++这个强大的...