树与二叉树的性质
来源:互联网 发布:mac双系统卸载win7 编辑:程序博客网 时间:2024/04/30 06:49
树的性质
一、结点的度是指子树的数量,树的度指所有节点的度的总和。
二、树的深度是指树的最大层数,根结点是第一层。
三、树的数据结构:树结点存储结构,树的存储结构(数组指针)。双亲(data,parent)、孩子(firstChild,next,rightChild)、孩子兄弟(firstChild,nextsubit)
二叉树性质
1、具有n个节点的完全二叉树的深度为(logn)+1
2、第i个节点的双亲位置 i/2,左孩子2i,右孩子2i+1.
3、二叉树节点的度只有0,1,2,分别用n0,n1,n2表示不同度的节点,那么n0 = n2 +1,推导是通过树的分支树的,一个节点会有一个入分支,那么设总的节点为n,那么n-1 = 2*n2+n1 由于 n = n0 + n1 + n2 合并得n0 = n2 +1.
4、根据层数和深度计算节点数,第i层最多有2的i-1次方个节点,深度为i的树一共有2的i次方减1个节点,要注意前后问的问题不同,一个是树里的第几层,一个是树的全部层数加上的节点数。
5、二叉树的存储结构:{data,rightChild,leftChidl,}
6、遍历
先序:先遍历所有根,然后是左子树,最后是右子树。
中序:所有左子树,后根,最后右子树。
后序:所有左子树,后右字树,最后根。
层次:每层从左边开始遍历。
7、哈弗曼树
首先树是带权的,而且从上至下,权值不断增大。
构造哈弗曼树:先将权值按小到大排序,将头两个小的权值构成一个N1节点的左右节点,并用N1的值替代这两个节点的值,接着再找出数组中最小的两个权值组成一个节点,最后所有节点被练成一棵树
应用:哈弗曼编码
0 0
- 树与二叉树的性质
- 树与二叉树的性质
- 二叉搜索树的性质与实现
- 二叉树的定义与性质
- 二叉搜索树的性质与操作
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 二叉树的性质
- 安卓 照明程序
- Android笔记——PreferenceActivity结合PreferenceFragment创建设置界面
- 8月21日 XE8移动开发入门(二)XE8的常用控件和AppTethering控件的使用(免费培训)
- Linux 下安装python软件包(pip、nose、virtualenv、distribute )
- xhprof 安装&&使用
- 树与二叉树的性质
- 理解什么是restful
- UVa 11214 - Guarding the Chessboard
- OutMan——Objective-C中成员变量的作用域、@property和@synthesize介绍和使用、构造方法和自定义构造方法
- Easyui Datebox设置可选时间范围
- System.Net.HttpWebRequest.GetRequestStream超时问题
- Android基础之Android的系统体系结构
- 使用Inotify实时同步文件夹
- 读取excel数据并保存为xml