1时,其余结点可分为m(m>0)个"互不相交"的"有限集(数量没有限制)"T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。。结点:包含一个数据元素及若干指向子树分支的信息,树最基本的数据结构单元。节点的度:结点拥有的子树数目称为结点的度叶子节点:终端结点,没有子树的结点或_二叉树左边小右边大javascr">
赞
踩
树是用来模拟具有树状结构性质的数据集合,是n(n>=0)个结点的有限集,n=0时称为空树。在任意一颗非空树中:
1)"有且仅有"一个特定的称为根(Root)的结点;
2)当n>1时,其余结点可分为m(m>0)个"互不相交"的"有限集(数量没有限制)"T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。
。
二叉树是树最简单、应用最广泛的种类。
二叉树是n(n>=0)个结点的有限集合,空集为空二叉树,通常由根节点,分支节点,叶子节点组成,每个节点最多只有两个分支节点。而每个分支节点也常常被称作为一棵子树,分为“左子树”和“右子树”。
1、在二叉树的第i层上,至多有2^i-1个节点
i=1时,只有一个根节点,2^(i-1) = 2^0 = 1
2、深度为k的二叉树至多有2^k-1个节点, 反过来具有n个节点的完全二叉树深为log2x+1(其中x表示不大于n的最大整数)
i=2时,2^k-1 = 2^2 - 1 = 3个节点
3、对任何一棵二叉树T,如果总结点数为n0,度为2(子树数目为2)的节点数为n2,则n0=n2+1
4、若对一棵有n个节点的完全二又树进行顺序编号(1≤i≤n),那么,对于编号为i(i≥1)的节点
- 当i=1时,该节点为根,它无双亲节点 [6] 。
- 当i>1时,该节点的双亲节点的编号为i/2 [6] 。
- 若2i≤n,则有编号为2的左孩子,否则没有左孩子 [6] 。
- 若2+1≤n,则有编号为2i+1的右孩子,否则没有右孩子 [6
1、树的节点个数至少为1,而二叉树的节点个数可以为0
2、树中节点的最大度数(节点数量)没有限制,而二叉树的节点的最大度数为2
3、树的节点没有左右之分,而二叉树的节点有左右之分,左子树和右子树是有顺序的,次序不能任意颠倒即使树中某结点只有一棵子树,也要区分它是左子树还是右子树
一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树
。一般我们需要了解完全二叉树(complete binary tree)和满二叉树(full binary tree)。
平衡二叉树:左右子树深度之差大于1
满二叉树:一棵深度为k且有2^k - 1个节点的二叉树称为满二叉树
完全二叉树:完全二叉树是指最后一层左边是满的,右边可能满也可能不满,然后其余层都是满的二叉树称为完全二叉树(满二叉树也是一种完全二叉树)
重点中的重点,最好同时掌握递归和非递归版本,递归版本很容易书写,但是真正考察基本功的是非递归版本。
根据前序遍历和中序遍历的特点重建二叉树,逆向思维,很有意思的题目
二叉搜索树是特殊的二叉树,考察二叉搜索树的题目一般都是考察二叉搜索树的特性,所以掌握好它的特性很重要
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数
平衡二叉树:左右子树深度之差大于1
创建、插入、查找、删除、遍历、深度
下一篇 javascript 数据结构专题–二叉树基本操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。